0

このコードを使用して、rubyとSMTPプロトコルを使用してメールを送信しています

smtp = Net::SMTP.new 'smtp.gmail.com', 587
smtp.enable_starttls
smtp.start('smtp.gmail.com', 'username', 'password', :login)
msgstr = "From: Sender <Sender@gmail.com>
      To: Receiver <receiver@gmail.com>
      Subject: Spammers List

          This is a test message"
smtp.send_message(msgstr, 'sender@gmail.com', 'receiver@gmail.com')
smtp.finish

しかし、封筒は一緒になります。受信したメールには宛先と件名はありません。すべてがこのように部分自体から入ります。送信者:受信者件名:スパマーリスト

誰かが私にコードのエラーは何であるかを言うことができますか?

4

1 に答える 1

3

あなたには2つの問題があると思います。SMTP には cr-lf 改行が必要であり、ヘッダーの先頭にスペースを含めることはできません。この点については確信が持てませんが、最後のメッセージ行も改行で終了する必要があると思います。コンテンツを次のようにビルドすると機能しますか...

msgstr = <<SMTP
From: Sender <Sender@gmail.com>\r
To: Receiver <receiver@gmail.com>\r
Subject: Spammers List\r
\r
This is a test message\r
SMTP
于 2012-08-06T07:55:22.487 に答える