我在Ruby https://github.com/mikel/mail
中使用mail
gem
如何通过smtp服务器发送电子邮件?如何指定地址和端口?我应该为Gmail使用哪些设置?
github上的README
仅提供本地服务器发送的示例。
答案 0 :(得分:96)
来自http://lindsaar.net/2010/3/15/how_to_use_mail_and_actionmailer_3_with_gmail_smtp
要通过GMail发送,您需要将Mail::SMTP
类配置为具有正确的值,因此要尝试此操作,请打开IRB并键入以下内容:
require 'mail'
options = { :address => "smtp.gmail.com",
:port => 587,
:domain => 'your.host.name',
:user_name => '<username>',
:password => '<password>',
:authentication => 'plain',
:enable_starttls_auto => true }
Mail.defaults do
delivery_method :smtp, options
end
最后一个块调用Mail.defaults
,它允许我们为从现在开始创建的所有邮件对象设置全局传递方法。高级用户提示,您不必使用全局方法,您可以直接在任何单个Mail::Message
对象上定义delivery_method,并且每封电子邮件都有不同的传递代理,如果您要构建具有多个的应用程序,这非常有用使用不同服务器处理电子邮件的用户。
Mail.deliver do
to 'mikel@test.lindsaar.net'
from 'ada@test.lindsaar.net'
subject 'testing sendmail'
body 'testing sendmail'
end