如何使用smtpapi-ruby gem将我的rails邮件程序绑定到Sendgrid?我按照他们的limited documentation,但我的电子邮件没有通过,我已经验证,发送一封普通电子邮件时,我的SendGrid实施工作正常,所以不是这样。这是我有:使用SendGrid模板的Rails邮件程序
user_controller.rb
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
format.html { redirect_to @user, notice: 'User was successfully created.' }
format.json { render :show, status: :created, location: @user }
header = Smtpapi::Header.new
header.add_to(@user.email)
header.add_substitution('user', [@user.name])
header.add_substitution('body', "You've registered! This is from the controller.")
header.add_filter('templates', 'enable', 1)
header.add_filter('templates', 'template_id', 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx')
header.to_json
UserNotifier.welcome(header).deliver
else
format.html { render :new }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
邮寄/ user_notifier.rb
class UserNotifier < ApplicationMailer
default from: "[email protected]"
def welcome(header)
headers['X-SMTPAPI'] = hdr.to_json
mail(subject: "Welcome to the site!")
end
end
的意见/ user_notifier/welcome.html.erb
<html>
<body>
Hi -user-<br />
Thanks so much for joining us!
<p>-body-</p>
Thanks,<br />
The Microblog Team
</body>
</html>
我在SendGrid活动日志中没有看到任何东西,所以它甚至没有发送到那里,至少这是我的猜测。
我在做什么错?
的Sendgrid文档好吧,这是有道理的,但现在我得到'未定义的局部变量或方法'头”为#' –
Godzilla74
你'ApplicationMailer' inheriths从“ActionMailer :: Base”?如果没有,你可以尝试使用下面的代码:'class UserNotifier
Aguardientico
不得不将行改为'headers ['X-SMTPAPI'] = hdr.to_json'然后它会提交...仍然不会尽管如此。 – Godzilla74