我手头有第一封邮件。这是我的邮件...
class UserMailer < ActionMailer::Base
default from: 'http://my-heroku-prename.herokuapp.com'
def welcome_email(current_user)
@user = current_user
@url = 'http://my-heroku-prename.herokuapp.com/'
mail(to: @user.email, subject: 'Welcome to My Awesome Site')
end
end
如果在UserController创建块的末尾有这一行
UserMailer.welcome_email(@user).deliver
我的production.rb看起来像这样
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { :host => 'my-heroku-prename.heroku.com' }
ActionMailer::Base.smtp_settings = {
:address => "smtp.sendgrid.net",
:port => 587,
:user_name => ENV['my_actually_sendgrid_username'], #should I just put the default here?
:password => ENV['my_actually_sendgrid_pw'],
:domain => ENV['heroku.com'],
:authentication => plain
我得到的错误是
Net::SMTPFatalError (553 Parse error at ':' of ('<http://me-heroku-prename.herokuapp.com>', [':', '//my-heroku-prename', '.', 'herokuapp', '.', 'com'])
我搜索了这个553解析错误但找不到任何东西......这只是一个synxtax的事情吗?
提前感谢您的帮助。
答案 0 :(得分:1)
您的default from:
应该是电子邮件地址而不是网址。这指定了在发送的电子邮件中显示为from的地址。
您可以通过将其置于Mailer的方法中来修改每条消息的来源。