Rails 3.0.0
以下是我在environment / production.rb中的配置:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "<domain>",
:user_name => "<un>@gmail.com",
:password => "<pw>",
:authentication => "plain",
:enable_starttls_auto => true
}
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
我也尝试在不同的Stack Overflow帖子中建议评论域名。
我尝试通过我的应用和控制台发送邮件。在控制台中没有错误,它返回邮件对象但不显示任何其他内容。当我尝试通过应用程序发送时,日志说它呈现了我的用户邮件模板。
我正在Linode上托管我的应用程序,但他们向我保证这种方法“应该”正常工作,并且Linode应该不是问题。我还检查过以确保我的应用程序在“生产”中运行。
有任何想法进行调试吗?我已尝试发送给三个不同的常见电子邮件主机。
编辑:这是我在控制台中发送邮件的代码:
user_mailer.rb
class UserMailer < ActionMailer::Base
default :from => "myaccount@gmail.com"
layout 'user_layout'
def activation(user)
@user = user
mail(:to => @user.email, :subject => 'Activate your account')
end
end
console command
> u = User.last
> u.email
#myotheraccount@gmail.com
> UserMailer.activation(u).deliver
更新2:当我添加仅文本视图模板时,发送正常。因此,发送HTML版本只会出错。我简化了所有HTML模板以包含简单标签和标准doctype html但仍然没有骰子。