gpt4 book ai didi

ruby-on-rails - 有没有办法在heroku上使用sendgrid调试邮件程序?或者检查邮件是否实际发送?

转载 作者:行者123 更新时间:2023-12-04 10:56:31 26 4
gpt4 key购买 nike

我正在尝试在我的 rails 3.0.10 项目中实现“联系我们”表单。按照 RailsGuides,我创建了一个邮件程序。

class QuestionMailer < ActionMailer::Base
default :to => "%mail@mydomain" #gmail for domains

def ask(message)
@content = message.content

unless message.name.nil? or message.name.empty?
from = "#{message.name} <#{message.email}>"
else
from = message.email
end

mail(:subject => message.subject, :from => from)
end
end

在我的 Controller 中,我有以下几行:
if @question.valid?
QuestionMailer.ask(@question).deliver
redirect_to root_url, :notice => "Сообщение отправлено"
else

生产.rb:
config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { :host => '%mydomain%' }

ActionMailer::Base.smtp_settings = {
:address => "smtp.sendgrid.net",
:port => "25",
:authentication => :plain,
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:domain => ENV['SENDGRID_DOMAIN']
}

一开始我没有这个配置,但是当我没有收到邮件时,我添加了它。

问题是,Heroku 日志说,相应的 View 已经呈现,但我没有收到电子邮件。而且因为我使用sendgrid,我无法在本地测试它。

更新

注意自我。为域帐户创建 gmail 后,不要忘记您的 DNS 设置。 >_<

最佳答案

您仍然可以使用 sendgrid 在本地进行测试 - 从命令行 do heroku config并且您可以获取 Heroku 为 sendgrid 用户名、密码和域设置的值,然后将它们与 actionmailer 设置一起设置在您的 development.rb 中,它将从您的本地开发应用程序通过 sendgrid 路由您的消息。

我也找到了这个 heroku 插件 https://github.com/hone/heroku-sendgrid-stats检查我的消息发送号码非常有用。

关于ruby-on-rails - 有没有办法在heroku上使用sendgrid调试邮件程序?或者检查邮件是否实际发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7171978/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com