Mailform 在本地工作但不在生产环境中工作(Heroku,Rails)
Mailform works locally but not in production (Heroku, Rails)
小问题,我在我的 rails 应用程序上使用 Mailform gem。从我的 rails 应用程序提交联系表单在本地有效,但在生产环境 (Heroku) 中无效。
使用 heroku logs --tails
,我看到 Heroku 成功发送了邮件。但是我没有在我各自的收件箱、垃圾邮件、垃圾邮件等中收到它。您可以在下面看到 Heroku 说邮件已成功发送:
2021-10-21T10:18:10.113426+00:00 app[web.1]: I, [2021-10-21T10:18:10.113404 #4] INFO -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] Parameters: {"authenticity_token"=>"AEQA5AFuDM1Z9kJkxIjONKSykC3byTzKiRIajUwBZJBa/ZGTQhm13NSOI3Gni+no1U2svV/PB1mRXDFct31ZXQ==", "contact"=>{"name"=>"Somes Name", "email"=>"username@gmail.com", "subject"=>"site test", "message"=>"This is a test email"}, "commit"=>"Send Message"}
2021-10-21T10:18:10.114201+00:00 app[web.1]: I, [2021-10-21T10:18:10.114166 #4] INFO -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] Redirected to https://iliazolas.herokuapp.com/
2021-10-21T10:18:10.119363+00:00 app[web.1]: I, [2021-10-21T10:18:10.119311 #4] INFO -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] Rendering vendor/bundle/ruby/2.7.0/gems/mail_form-1.9.0/lib/mail_form/views/mail_form/contact.erb
2021-10-21T10:18:10.120596+00:00 app[web.1]: I, [2021-10-21T10:18:10.120551 #4] INFO -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] Rendered vendor/bundle/ruby/2.7.0/gems/mail_form-1.9.0/lib/mail_form/views/mail_form/contact.erb (Duration: 1.2ms | Allocations: 710)
2021-10-21T10:18:10.121033+00:00 app[web.1]: D, [2021-10-21T10:18:10.120974 #4] DEBUG -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] MailForm::Notifier#contact: processed outbound mail in 4.7ms
2021-10-21T10:18:10.285048+00:00 app[web.1]: I, [2021-10-21T10:18:10.284947 #4] INFO -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] Delivered mail 61713e621dad0_494c09453@10e20764-9922-42fe-bc81-e7fd2761d078.mail (163.8ms)
2021-10-21T10:18:10.285081+00:00 app[web.1]: D, [2021-10-21T10:18:10.285045 #4] DEBUG -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] Date: Thu, 21 Oct 2021 10:18:10 +0000
2021-10-21T10:18:10.285081+00:00 app[web.1]: From: Ilia Zolas <username@gmail.com>
2021-10-21T10:18:10.285082+00:00 app[web.1]: To: username@gmail.com
2021-10-21T10:18:10.285082+00:00 app[web.1]: Message-ID: <61713e621dad0_494c09453@10e20764-9922-42fe-bc81-e7fd2761d078.mail>
2021-10-21T10:18:10.285082+00:00 app[web.1]: Subject: IZ Portfolio Contact Form
2021-10-21T10:18:10.285083+00:00 app[web.1]: Mime-Version: 1.0
2021-10-21T10:18:10.285083+00:00 app[web.1]: Content-Type: text/html;
2021-10-21T10:18:10.285083+00:00 app[web.1]: charset=UTF-8
2021-10-21T10:18:10.285084+00:00 app[web.1]: Content-Transfer-Encoding: 7bit
2021-10-21T10:18:10.285084+00:00 app[web.1]:
2021-10-21T10:18:10.285084+00:00 app[web.1]: <h4 style="text-decoration:underline">IZ Portfolio Contact Form</h4>
2021-10-21T10:18:10.285085+00:00 app[web.1]:
2021-10-21T10:18:10.285085+00:00 app[web.1]:
2021-10-21T10:18:10.285085+00:00 app[web.1]: <p><b>Name:</b>
2021-10-21T10:18:10.285085+00:00 app[web.1]: Name</p>
2021-10-21T10:18:10.285085+00:00 app[web.1]:
2021-10-21T10:18:10.285085+00:00 app[web.1]: <p><b>Subject:</b>
2021-10-21T10:18:10.285086+00:00 app[web.1]: site test</p>
2021-10-21T10:18:10.285086+00:00 app[web.1]:
2021-10-21T10:18:10.285086+00:00 app[web.1]: <p><b>Email:</b>
2021-10-21T10:18:10.285086+00:00 app[web.1]: username@gmail.com</p>
2021-10-21T10:18:10.285086+00:00 app[web.1]:
2021-10-21T10:18:10.285087+00:00 app[web.1]: <p><b>Message:</b>
2021-10-21T10:18:10.285087+00:00 app[web.1]: This is a test email</p>
2021-10-21T10:18:10.285087+00:00 app[web.1]:
2021-10-21T10:18:10.285087+00:00 app[web.1]:
2021-10-21T10:18:10.285102+00:00 app[web.1]: Message sent
请注意,我已将我的实际电子邮件地址替换为用户名@gmail 和名称 post。
此外,我已将相关的 Google 帐户设置为允许访问安全性较低的应用程序。
这是我的邮件表单生产环境:
config.action_mailer_default_url_options = { host: 'https://www.iliazolas.herokuapp.com' }
Rails.application.routes.default_url_options[:host] = 'https://www.iliazolas.herokuapp.com'
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = false
config.action_mailer.default charset: 'utf-8'
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'gmail.com',
authentication: 'plain',
enable_starttls_auto: true,
user_name: ENV['GMAIL_USERNAME'],
password: ENV['GMAIL_PASSWORD']
}
有没有人对我做错了什么有任何想法?
再次感谢您的时间和努力!
所以我重新登录了我的 google 帐户以获取相关的 gmail 凭据。结果是 google 仍然认为我的应用程序的行为是可疑的 activity,尽管允许访问安全性较低的应用程序。
所以我所做的就是通知 google 可疑的 activity 来自我自己,使用提供的界面以及更改我的帐户密码并使用新密码更新我的 .env 文件。
然后...突然...从我网站上的联系表发送的消息开始起作用了。
瞧:)
小问题,我在我的 rails 应用程序上使用 Mailform gem。从我的 rails 应用程序提交联系表单在本地有效,但在生产环境 (Heroku) 中无效。
使用 heroku logs --tails
,我看到 Heroku 成功发送了邮件。但是我没有在我各自的收件箱、垃圾邮件、垃圾邮件等中收到它。您可以在下面看到 Heroku 说邮件已成功发送:
2021-10-21T10:18:10.113426+00:00 app[web.1]: I, [2021-10-21T10:18:10.113404 #4] INFO -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] Parameters: {"authenticity_token"=>"AEQA5AFuDM1Z9kJkxIjONKSykC3byTzKiRIajUwBZJBa/ZGTQhm13NSOI3Gni+no1U2svV/PB1mRXDFct31ZXQ==", "contact"=>{"name"=>"Somes Name", "email"=>"username@gmail.com", "subject"=>"site test", "message"=>"This is a test email"}, "commit"=>"Send Message"}
2021-10-21T10:18:10.114201+00:00 app[web.1]: I, [2021-10-21T10:18:10.114166 #4] INFO -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] Redirected to https://iliazolas.herokuapp.com/
2021-10-21T10:18:10.119363+00:00 app[web.1]: I, [2021-10-21T10:18:10.119311 #4] INFO -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] Rendering vendor/bundle/ruby/2.7.0/gems/mail_form-1.9.0/lib/mail_form/views/mail_form/contact.erb
2021-10-21T10:18:10.120596+00:00 app[web.1]: I, [2021-10-21T10:18:10.120551 #4] INFO -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] Rendered vendor/bundle/ruby/2.7.0/gems/mail_form-1.9.0/lib/mail_form/views/mail_form/contact.erb (Duration: 1.2ms | Allocations: 710)
2021-10-21T10:18:10.121033+00:00 app[web.1]: D, [2021-10-21T10:18:10.120974 #4] DEBUG -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] MailForm::Notifier#contact: processed outbound mail in 4.7ms
2021-10-21T10:18:10.285048+00:00 app[web.1]: I, [2021-10-21T10:18:10.284947 #4] INFO -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] Delivered mail 61713e621dad0_494c09453@10e20764-9922-42fe-bc81-e7fd2761d078.mail (163.8ms)
2021-10-21T10:18:10.285081+00:00 app[web.1]: D, [2021-10-21T10:18:10.285045 #4] DEBUG -- : [fc7bc81d-de05-43c8-8c0c-b0f865d3b385] Date: Thu, 21 Oct 2021 10:18:10 +0000
2021-10-21T10:18:10.285081+00:00 app[web.1]: From: Ilia Zolas <username@gmail.com>
2021-10-21T10:18:10.285082+00:00 app[web.1]: To: username@gmail.com
2021-10-21T10:18:10.285082+00:00 app[web.1]: Message-ID: <61713e621dad0_494c09453@10e20764-9922-42fe-bc81-e7fd2761d078.mail>
2021-10-21T10:18:10.285082+00:00 app[web.1]: Subject: IZ Portfolio Contact Form
2021-10-21T10:18:10.285083+00:00 app[web.1]: Mime-Version: 1.0
2021-10-21T10:18:10.285083+00:00 app[web.1]: Content-Type: text/html;
2021-10-21T10:18:10.285083+00:00 app[web.1]: charset=UTF-8
2021-10-21T10:18:10.285084+00:00 app[web.1]: Content-Transfer-Encoding: 7bit
2021-10-21T10:18:10.285084+00:00 app[web.1]:
2021-10-21T10:18:10.285084+00:00 app[web.1]: <h4 style="text-decoration:underline">IZ Portfolio Contact Form</h4>
2021-10-21T10:18:10.285085+00:00 app[web.1]:
2021-10-21T10:18:10.285085+00:00 app[web.1]:
2021-10-21T10:18:10.285085+00:00 app[web.1]: <p><b>Name:</b>
2021-10-21T10:18:10.285085+00:00 app[web.1]: Name</p>
2021-10-21T10:18:10.285085+00:00 app[web.1]:
2021-10-21T10:18:10.285085+00:00 app[web.1]: <p><b>Subject:</b>
2021-10-21T10:18:10.285086+00:00 app[web.1]: site test</p>
2021-10-21T10:18:10.285086+00:00 app[web.1]:
2021-10-21T10:18:10.285086+00:00 app[web.1]: <p><b>Email:</b>
2021-10-21T10:18:10.285086+00:00 app[web.1]: username@gmail.com</p>
2021-10-21T10:18:10.285086+00:00 app[web.1]:
2021-10-21T10:18:10.285087+00:00 app[web.1]: <p><b>Message:</b>
2021-10-21T10:18:10.285087+00:00 app[web.1]: This is a test email</p>
2021-10-21T10:18:10.285087+00:00 app[web.1]:
2021-10-21T10:18:10.285087+00:00 app[web.1]:
2021-10-21T10:18:10.285102+00:00 app[web.1]: Message sent
请注意,我已将我的实际电子邮件地址替换为用户名@gmail 和名称 post。
此外,我已将相关的 Google 帐户设置为允许访问安全性较低的应用程序。
这是我的邮件表单生产环境:
config.action_mailer_default_url_options = { host: 'https://www.iliazolas.herokuapp.com' }
Rails.application.routes.default_url_options[:host] = 'https://www.iliazolas.herokuapp.com'
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = false
config.action_mailer.default charset: 'utf-8'
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'gmail.com',
authentication: 'plain',
enable_starttls_auto: true,
user_name: ENV['GMAIL_USERNAME'],
password: ENV['GMAIL_PASSWORD']
}
有没有人对我做错了什么有任何想法?
再次感谢您的时间和努力!
所以我重新登录了我的 google 帐户以获取相关的 gmail 凭据。结果是 google 仍然认为我的应用程序的行为是可疑的 activity,尽管允许访问安全性较低的应用程序。
所以我所做的就是通知 google 可疑的 activity 来自我自己,使用提供的界面以及更改我的帐户密码并使用新密码更新我的 .env 文件。
然后...突然...从我网站上的联系表发送的消息开始起作用了。
瞧:)