SendGrid不会在默认的inqury /联系表单中发送Heroku上的电子邮件

Mik*_*ike 1 ruby-on-rails actionmailer heroku refinerycms sendgrid

这是我使用RefineryCMS的第一个应用程序.我过去从应用程序发送邮件的方式目前不适用于我的炼油厂应用程序.

我通过互联网上的大量搜索尝试了很多方法来实现这一点,我无法做到这一点.

目前,这是我所拥有的:

environment.rb文件中我有这个:

config.action_mailer.smtp_settings = {
    :enable_starttls_auto => true,
    :address        => 'smtp.sendgrid.net',
    :port           => '25',
    :authentication => :plain,
    :user_name      => 'myusername@mydomain.com',
    :password       => 'mypassword',
    :domain         => 'mydomain'
  }
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

ActionMailer::Base.smtp_settings = {
    :enable_starttls_auto => true,
    :address        => 'smtp.sendgrid.net',
    :port           => '25',
    :authentication => :plain,
    :user_name      => 'myusername@mydomain.com',
    :password       => 'mypassword',
    :domain         => 'mydomain'
  }
Run Code Online (Sandbox Code Playgroud)

我已经尝试将这些设置放在生产和开发类中.在本地和heroku尝试,但我只是无法获得内置的查询/联系表格发送通知电子邮件,我不知道为什么它不会工作.

就像我之前说过的那样,我已经尝试了所有解决方案(它们都非常相似)我可以找到这个,但不能使它工作.如果有人可以告诉我我做错了什么,确切地说,我需要做什么,这将是非常棒的.

提前谢谢,〜迈克

Mik*_*ike 6

实际上,现有版本中的一个错误refinerycms-inquiries导致邮件无法发送.一旦我更新到0.9.9.9,它按预期工作.如果有人需要知道如何执行此更新:

首先,将此行添加到您的Gem文件中:

gem 'refinerycms-inquiries',    '~> 0.9'
Run Code Online (Sandbox Code Playgroud)

然后运行以下命令:

bundle update refinerycms-inquiries
Run Code Online (Sandbox Code Playgroud)

这就是我添加到environment.rb文件中的所有内容:

ActionMailer::Base.smtp_settings = {
    :enable_starttls_auto => true,
    :address        => 'smtp.sendgrid.net',
    :port           => '25',
    :authentication => :plain,
    :user_name      => 'myemail@domain.com',
    :password       => 'mypassword',
    :domain         => 'mydomain.com'
}
Run Code Online (Sandbox Code Playgroud)

而已.