Ubuntu 在AmazonEC2实例上运行Rails3.2的Gmail的ActionMailer设置
背景 试图解决Rails3.2.x中ActionMailer的Gmail设置在AmazonEC2的Ubuntu实例上运行的问题。应用程序正在使用Nginx+Passenger运行 设置如下所示 文件:config/environments/production.rbUbuntu 在AmazonEC2实例上运行Rails3.2的Gmail的ActionMailer设置,ubuntu,amazon-ec2,ruby-on-rails-3.2,gmail,actionmailer,Ubuntu,Amazon Ec2,Ruby On Rails 3.2,Gmail,Actionmailer,背景 试图解决Rails3.2.x中ActionMailer的Gmail设置在AmazonEC2的Ubuntu实例上运行的问题。应用程序正在使用Nginx+Passenger运行 设置如下所示 文件:config/environments/production.rb config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => "s
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:authentication => :plain,
:user_name => "<username>@gmail.com",
:password => "<secret-word>",
:enable_starttls_auto => true
}
def email_test_send
@email = params[:email]
@message = Message.find(params[:id])
@member = Member.find_by_last_name("Bloggs")
MemberMailer.delay.all_member_email(@member.email, @message)
redirect_to messages_path, :notice => "Test Email has been sent."
end
MemberMailer类定义为:
class MemberMailer < ActionMailer::Base
default from: "blah@gmail.com"
default cc: "blah1@gmail.com, blah2@gmail.com"
default content_type: "text/html"
# send a message to member
def all_member_email(email, message)
@message = message
mail(:to => email, :subject => message.subject)
end
class MemberMaileremail,:subject=>message.subject)
结束
结束
系统使用延迟任务Gem进行后台处理,并在有后台任务处理和无后台任务处理的情况下对发送进行了测试
结果
问题是没有发送任何消息,出现以下情况
还有什么地方需要查看吗?我已经尝试重新启动服务器以确保干净地加载配置文件等,但没有成功。请确保在
config/environments/production.rb
中设置这两个选项:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true