web-dev-qa-db-ja.com

CMDコンソール経由でメールを送信する

こんにちは、Microsoft cmdコンソール経由でメールを送信したいです。いろいろ試してみましたが、うまくいきませんでした。

私はこの記事を試しました http://jpsoft.com/help/index.htm?sendmail.htm

sendmail "[email protected] bcc:[email protected]" Test Hello!

エラーは:

'sendmail' is not recognized as an internal or external command operable program or batch file

そして

この記事: http://www.brighthub.com/office/collaboration/articles/21840.aspx#imgn_1

c:\>"c:\program files\Microsoft office\office12\Outlook.exe" /c ipm.note /m [email protected] /a "c:\logs\logfile.txt"

エラーは:

the process can not access the file because it is being used by another proccess

しかし、うまくいきませんでした。どこに問題があるのか​​、何が問題なのかわかりません。

アドバイスをしてくれてありがとう。

11
user1479273

シナリオ:ドメイン:mydomain.com送信先のドメイン:theirdomain.com

1。送信先のメールサーバーを決定します。 CMDプロンプトタイプを開く

NSLOOKUP 
 set q=mx 
 theirdomain.com

応答:

Non-authoritative answer: 
theirdomain.com MX preference = 50, mail exchanger = mail.theirdomain.com 
Nslookup_big

[〜#〜] edit [〜#〜] NSLOOKUPを終了するには、必ずexitと入力してください。

2。メールサーバーに接続

SMTPはポート25を介して通信します。次に、TELNETを使用してメールサーバーに接続しようとします"mail.theirdomain.com"

CMDプロンプトを開く

TELNET MAIL.THEIRDOMAIN.COM 25

次のような応答が表示されるはずです。

220 mx.google.com ESMTP 6si6253627yxg.6

異なるサーバーが異なる挨拶を表示することに注意してくださいが、何かを取得する必要があります。この時点で何も表示されない場合、2つの問題が考えられます。ポート25がファイアウォールでブロックされているか、サーバーが応答していません。別のドメインを試してください。それが機能する場合は、あなたではありません。

。メールを送信

次に、簡単なSMTPコマンドを使用してテストメールを送信します。これは非常に重要です。バックスペースキーは使用できません。画面上では機能しますが、正しく解釈されません。これらのコマンドを完全に入力する必要があります。

ehlo mydomain.com 
mail from:<[email protected]> 
rcpt to:<[email protected]> 
data 
This is a test, please do not respond
. 
quit

それで、それはどういう意味ですか? [〜#〜] ehlo [〜#〜]-HELOも使用できますが、EHLOは拡張を使用するようサーバーに指示しますコマンドセット(使用しているわけではありません)。

MAIL FROM-メールの送信者。多くのメールサーバーがこれを必要とするため、これはかっこよりも大きい/小さいことを確認してください(Postini)。

RCPT TO-送信先。再び、括弧を使用する必要があります。メールの中継をテストする方法については、手順4をご覧ください!

[〜#〜] data [〜#〜]-SMTPサーバーに、メールの本文が続くことを伝えます。最後に「Enter」を押してください。

。 -行のピリオドのみが、SMTPサーバーにデータ部分の処理がすべて完了したことを示し、メールを送信するのは明らかです。

quit-TELNETセッションを終了します。

4。SMTPリレーのテスト SMTPリレーのテストは非常に簡単で、上記のコマンドを少し変更するだけで済みます。下記参照:

ehlo mydomain.com 
mail from:<[email protected]> 
rcpt to:<[email protected]> 
data 
This is a test, please do not respond 
. 
quit

違いを見ます? RCPT TO行では、送信先のSMTPサーバーによって制御されていないドメインに送信しています。 SMTPリレーがオフになっていると、すぐにエラーが発生します。続行してメールを送信できる場合、そのサーバーはリレーを許可します。

21
Mahmut EFE

telnetを介してSMTPサーバーと直接やり取りしたくない場合は、 blat のようなコマンドラインメーラーを使用します。

blat -to [email protected] -f [email protected] -s "mail subject" ^
  -server smtp.example.net -body "message text"

または bmail

bmail -s smtp.example.net -t [email protected] -f [email protected] -h ^
  -a "mail subject" -b "message text"

VBScript または PowerShell で独自のメーラーを作成することもできます。

4
Ansgar Wiechers

Linuxからは、 'swaks'を使用できます。これは、EPEL上のDebian/UbuntuやRedhat/CentOSを含む多くのディストリビューションで公式パッケージとして利用できます。

swaks -f [email protected] -t [email protected] \
    --server mail.example.com
1
ColinM

さらにいくつかのコマンドラインメーラープログラム:

どちらもSSLをサポートしています。

0
Roland Pihlakas