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

时间:2015-02-21 05:22:46

标签: ruby-on-rails actionmailer development-environment sendgrid

我有一个不可能的时间试图找出如何使用sendgrid和Actionmailer设置开发中的电子邮件。

我已经阅读了许多不同的内容,并且我不断遇到不同的错误。现在我得到这个:



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

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

&#13;
&#13;
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
}
&#13;
&#13;
&#13;

2

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

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