如何使用 Actionmailer Sendgrid 在开发中发送电子邮件?

How to Send an Email in Development with Actionmailer Sendgrid?

我正在努力弄清楚如何使用 sendgrid 和 Actionmailer 在开发中设置电子邮件。

我读了很多不同的东西,但我不断收到不同的错误。现在我得到了这个:

Net::SMTPFatalError in UsersController#create
550 Cannot receive from specified address <noreply@example.com>: Unauthenticated senders not allowed

我需要在 development.rb 中输入什么才能发送激活电子邮件?

config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp

config.action_mailer.smtp_settings = {
:address        => 'smtp.sendgrid.net',
:port           => '587',
:authentication => :plain,
:user_name      =>  ENV['SENDGRID_USERNAME'],
:password       =>  ENV['SENDGRID_PASSWORD'],
:domain         => 'localhost:3000',
:enable_starttls_auto => true
}

2

看来您只需要设置 SENDGRID_USERNAME 和 SENDGRID_PASSWORD 环境变量即可。您可以通过 运行 以下命令在您的终端中临时设置这些:

export SENDGRID_USERNAME=<your sendgrid username>
export SENDGRID_PASSWORD=<your sendgrid password>

当您重新启动终端时,您将丢失这些设置。为了使它们持久,将这些相同的命令添加到您的 ~/.bash_profile

我在这里使用了 rails cast 教程,因为我无法让它与 sendgrid 一起使用:http://railscasts.com/episodes/61-sending-email-revised?view=asciicast