Ruby on rails Rails 5联系人表单不通过heroku使用sendgrid发送电子邮件
我一直在关注这篇关于创建“联系我”表单和邮件的博文。我的表单显示Messaged Received,但我从来没有收到过电子邮件,Span文件夹中也没有。我的sendgrid与Desive的用户身份验证功能配合得很好,所以我知道该功能正在工作 Messages/new.html.erb 控制器/消息\u controller.rb mailers/message_mailer.rb 测试不会抛出错误,我也可以预览电子邮件okRuby on rails Rails 5联系人表单不通过heroku使用sendgrid发送电子邮件,ruby-on-rails,heroku,sendgrid,sendgrid-ruby,Ruby On Rails,Heroku,Sendgrid,Sendgrid Ruby,我一直在关注这篇关于创建“联系我”表单和邮件的博文。我的表单显示Messaged Received,但我从来没有收到过电子邮件,Span文件夹中也没有。我的sendgrid与Desive的用户身份验证功能配合得很好,所以我知道该功能正在工作 Messages/new.html.erb 控制器/消息\u controller.rb mailers/message_mailer.rb 测试不会抛出错误,我也可以预览电子邮件ok 还有什么我遗漏的吗?在我看来,您并不是在实际触发控制器中的发送事件。如果
还有什么我遗漏的吗?在我看来,您并不是在实际触发控制器中的发送事件。如果我正确理解了您的流程,那么您的create方法应该在邮件和消息上使用.deliver方法
def create
@message = Message.new message_params
if @message.valid?
MessageMailer.contact_me(@message).deliver <-- This
redirect_to new_message_url, notice: "Message received, thanks!"
else
render :new
end
end
我怎么会错过呢!?电子邮件刚刚发送过来!谢谢你发现了。我实际上使用了:MessageMailer.contact_me@message.deliver_now
class MessagesController < ApplicationController
def new
@message = Message.new
end
def create
@message = Message.new message_params
if @message.valid?
redirect_to new_message_url, notice: "Message received, thanks!"
else
render :new
end
end
private
def message_params
params.require(:message).permit(:name, :email, :body)
end
end
class MessageMailer < ApplicationMailer
def contact_me(message)
@body = message.body
mail to: "<mydomainemail>", from: message.email
end
end
def create
@message = Message.new message_params
if @message.valid?
MessageMailer.contact_me(@message).deliver <-- This
redirect_to new_message_url, notice: "Message received, thanks!"
else
render :new
end
end