我在本地主机上使用Rails 2.3.2和
Ruby 1.8.6,通过ActionMailer实际发送问题. development.log表示它已发送电子邮件没有错误,但电子邮件没有收到.我已经尝试了多个电子邮件地址发送和接收,并尝试了多个配置和插件,但无法发送电子邮件.任何帮助将非常感激 – 我觉得我正在围绕不同版本的轨道和红宝石的一堆版本的解决方案跳舞,并且不能解决它.我非常感谢任何意见.谢谢!
插件:
>动作邮件可选tls
> smtp_tls
不同的电子邮件配置:
ActionMailer::Base.smtp_settings = { :enable_starttls_auto => true,#works in ruby 1.8.7 and above :address => 'smtp.gmail.com',:port => 587,:domain => 'example.com',:authentication => :plain,:user_name => 'testacct',:password => 'secret' }
config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :tls => :true,:address => 'smtp.gmail.com',:user_name => 'testacct@gmail.com',:password => 'secret' #:enable_starttls_auto => true # for rails >= 2.2 && ruby >= 1.8.7 } config.action_mailer.perform_deliveries = :true #try to force sending in development config.action_mailer.raise_delivery_errors = :true config.action_mailer.default_charset = "utf-8"
Development.log:
Sent mail to sa23kdj@trash2009.com Date: Fri,18 Dec 2009 00:27:06 -0800 From: Test Email Acct <testacct@gmail.com> To: sa23kdj@trash2009.com Subject: Signup Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=mimepart_4b2b3cda9088_634334302a5b7 --mimepart_4b2b3cda9088_634334302a5b7 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: Quoted-printable Content-Disposition: inline <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww= w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang=3D'en' xml:lang=3D'en' xmlns=3D'http://www.w3.org/1999/xhtml'>= <head> <Meta content=3D'text/html;charset=3DUTF-8' http-equiv=3D'content-typ= e' /> </head> <body> Welcome Email <p> user name: lfglkdfgklsdf activation link: http://localhost:3000/login </p> </body> </html> --mimepart_4b2b3cda9088_634334302a5b7--
解决方法
将以下内容放在config / environments / development.rb中
config.action_mailer.perform_deliveries = true config.action_mailer.raise_delivery_errors = true
它将覆盖config / environment.rb中的设置
另外对于2.X轨,你需要设置:
config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :enable_starttls_auto => true,:address => "smtp.gmail.com",:port => 587,:domain => "domain.com",:user_name => "username@domain.com",:password => "secret_passsword",:authentication => :plain }