2012-02-28 33 views
0

私はRubyを使用してGoogleアプリケーションから電子メールを送信しています。電子メールを送受信しています。問題は、電子メールがGmailの受信トレイに非公開の受信者に送信され、件名がないと表示されることです。Ruby電子メール未公開の受信者を送信する

require 'rubygems' 
require "tlsmail" 

message = <<MESSAGE_END 
From: From Address <[email protected]> 
To: My Address <[email protected]> 
Subject: The Subject 
Date: #{Time.now.rfc2822} 

This is the email body. 

MESSAGE_END 

Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE) 
Net::SMTP.start('smtp.gmail.com', 587, 'smtp.gmail.com', '[email protected]', 'password', :login) do |smtp| 
smtp.send_message(message, '[email protected]', '[email protected]') 
end 

前述のように、電子メールが受信されました。見出しは次のようになります。

出所:宛先:件名:件名日時:火曜日、28 Feb 2012 09:54:22 -0500 [email protected] 送信時刻:9に送信:午前54時(GMT-08:00)。現在の時間:7:45 AM。 ✆ to: date:2012年2月28日火曜日9:54 AM

件名が不明です。

これは大したことではありませんが、可能ならば典型的な電子メールのように来ていただきたいと思います。

答えて

0

確かにあなたがtlsmailを使用しているかどうかわかりませんが、私はPonyとGoogle Appsで成功しました。私はデフォルトのオプション(ここで示した)を有するものをマージし、ヘルパー(私はシナトラを使用しています)でこれを包んし、特定のパラメータを渡す

require 'pony' 

email_data = { 
    :from    => 'Mailer <[email protected]>', 
    :to    => '[email protected]', 
    :subject   => 'Some subject', 
    :body    => 'A plain text body', 
    :html_body  => haml :email, # render html email using haml 
    :port    => '587', 
    :via    => :smtp, 
    :via_options  => { 
    :address     => 'smtp.gmail.com', 
    :port      => '587', 
    :enable_starttls_auto  => true, 
    :user_name    => '[email protected]', 
    :password     => 'mailer_password', 
    :authentication   => :plain, 
    :domain     => 'mydomain.com' 
    } 
} 
Pony.mail(email_data) 

:ここでは私の変形例です。私もそれを見たいと思ったら更新します。

+0

ありがとうございました。 – Peter

+0

@Peter連絡先フォームなど、返信したい何らかのユーザー生成電子メールを持っている場合は、受信してユーザーに返信してください。そうした電子メールを送信する必要があります。あなたが応答するものとは異なる電子メール。これはGoogle Appsの制限ですが、それを把握しようとすると困惑することがあります。 –

関連する問題