【问题标题】:Email is not delivering in rails app电子邮件未在 Rails 应用程序中发送
【发布时间】:2015-04-27 03:45:08
【问题描述】:

我正在尝试在我的 rails 应用程序和日志中发送电子邮件,我看到以下正文

Sent mail to ravendra.kumar@kiwitech.com (97ms)
Date: Wed, 25 Feb 2015 08:13:57 +0000
From: ashish.singla@kiwitech.com
To: ravendra.kumar@kiwitech.com
Message-ID: <54ed84452dcca_71c16217f47382e@web-01-development.mail>
Subject: Ashish Singla is inviting you to read together...
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

但电子邮件未送达。

【问题讨论】:

  • 您能否分享更多详细信息,例如您设置电子邮件凭据的 development.rb 文件的内容。
  • 开发环境的默认设置是不投递邮件。你改了吗?
  • 我正在使用延迟作业发送

标签: ruby-on-rails actionmailer delayed-job


【解决方案1】:

至少您的邮件程序类正在工作。 如果您处于开发模式,请确保将 perform_deliveries 选项设置为 true。

如果没有,请转到您的 config/environments/development.rb 文件并写入

config.action_mailer.perform_deliveries = true

如果此设置已设置为 true 并且您没有收到电子邮件,则可能是您的 smtp 设置未正确设置。您可以在config/application.rb 中设置它们,如下所示:

config.action_mailer.smtp_settings = {
  :address        => 'smtp.office365.com',
  :port           => 587,
  :domain         => 'your-domain.com',
  :user_name      => 'user@your-domain.com',
  :password       => 'somePassword',
  authentication: :login,
  enable_starttls_auto: true
}

在这种情况下,可能启用设置raise_delivery_errors 将帮助您诊断问题。您可以在 config/environments/development.rb 文件中执行此操作并写入:

config.action_mailer.raise_delivery_errors = true

然后,当电子邮件无法发送时,您会得到一个异常,并且(希望)有关于问题的描述。

阅读您的评论后:更改所有这些配置设置后,重新启动 delay_job 后端。

【讨论】:

    猜你喜欢
    • 2014-10-01
    • 2019-12-12
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 2013-10-09
    • 1970-01-01
    相关资源
    最近更新 更多