41

我正在为 Ruby https://github.com/mikel/mailmail使用gem

如何通过 smtp 服务器发送电子邮件?如何指定地址和端口?我应该为 Gmail 使用哪些设置?

READMEgithub 上的仅给出本地服务器发送的示例。

4

1 回答 1

97

来自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
于 2012-10-14T17:38:06.383 回答