Rails ActionMailer and Dreamhost
周末写一个Ruby on Rails小东西,要用到发email的功能。因为我也是第一次用RoR来写东西,对于Rails中的组件都是不太熟悉。Rails中有一个组件叫做ActionMailer,就是用来发email的。只需要在Rails的配置文件中设置一下邮件服务器的参数就可以非常容易的在RoR应用中发邮件了。RoR的wiki上介绍的非常详细,就不在这里说了。
不过,毕竟wiki里面只有比较general的介绍,没有人会在RoR的wiki中专门来说如何使用ActionMailer配合dreamhost的邮件服务器。所以,我就遇到了麻烦~按照wiki文章上的介绍,无论如何也发不出去email。难道是dreamhost的邮件服务器不接受第三方程序?可是我的wordpress就可以发~难道我写的程序有问题?可是我是严格按照文章介绍做的~郁闷。
终极武器:Google。花了n长时间后,终于找到了答案:配置文件中port应该填587,而不是25。是在dreamhost的wiki中介绍如何设置thunderbird的文章中找到的。修改之后的enviroment.rb中ActionMailer的配置:
Rails::Initializer.run do |config|
config.action_mailer.delivery_method = :smtp
end
ActionMailer::Base.server_settings = {
:address => "mail.yourdomain.com",
:port => 587,
:domain => "www.yourdomain.com",
:user_name => "user@yourdomain.com",
:password => "password",
:authentication => :login
}
PS. LP感冒了,祝她早日康复~








