在过去的几天里,我一直在努力学习使用Rails,而且我遇到了一些我无法通过Google解决的问题.
所以我只是创建一个发送电子邮件的基本联系表单.一切似乎都在测试中正常工作,它告诉我表单正常工作,并且ActionMailer已正确实现,但是,我在配置ActionMailer时遇到了问题.我正在运行OSX 10.6.2.我有postfix运行并已验证它正在使用telnet localhost 25运行.当我尝试使用该表单时,我收到“连接被拒绝”错误.
这是我目前的配置:
config.action_mailer.smtp_settings = { :address => 'localhost',:port => 25 }
我想我可能需要设置:domain但是我对在这种情况下应该设置的内容感到困惑.
解决方法
我的生活已经大约100倍运行了:在我的Mac上发送邮件作为我的mac上的交付方式,而不是:smtp,你可能想尝试给它一个镜头.在这个答案中,我假设您只想在Mac上发送邮件而实际上并不关心它是如何工作的.
我做的另一件事,如果我要在项目上一直连接到网络,就是将我传出的ActionMailer发起的邮件配置为通过gmail而不是我的本地mac.
ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { :enable_starttls_auto => true,:address => "smtp.gmail.com",:port => 587,:domain => "example.com",:authentication => :plain,:user_name => "address@example.com",:password => "secret" }
这是针对域名的谷歌应用程序上设置的名为example.com的自定义域.您也可以创建一个Gmail帐户并通过那里发送内容. (通过将example.com的所有实例更改为gmail.com)