ruby-on-rails - Rails smtp 问题
问题描述
我是初级 Rails 开发人员。我试图通过 gmail.com 的 smtp 发送电子邮件,我在互联网上找到了这篇文章。我的environments/production.rb
config.action_mailer.delivery_method = :sendmail
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_options = {from: 'pangodfather@gmail.com'}
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'devb.carwash.it',
user_name: 'myaccount@gmail.com',
password: 'mypass',
authentication: 'plain',
enable_starttls_auto: true
}
像这样我试图发送邮件
UserNotificationMailer.send_change_password_link(@user, params[:user][:password]).deliver_now
我有这个错误。Net::SMTPSyntaxError(501 语法:HELO 主机名
在我的服务器上,如果我运行hostname
主机名,输出是:
devb.carwash.it
我做错了什么?谢谢
解决方案
让我分享一下我在使用 Gmail 解决此问题时遇到的问题。
首先启用不太安全的应用程序登录到 Gmail。
访问您的gmail 设置并启用不太安全的应用程序以使应用程序正常工作。
将:authentication key的值从 更改
:plain
为:login
如果您为访问 Gmail启用了两步验证,则必须向您的应用授予权限。
希望这可以帮助 :)
推荐阅读
- ruby-on-rails - Rails:如何阻止 Amazon WorkMail 电子邮件从我的 Rails 应用程序进入垃圾邮件/垃圾邮件?
- curl - curl 请求消费者 MULTIPART_FORM_DATA 的资源
- android - 如何在父布局上丢失数据的情况下从子布局移动到父布局?以及如何优化我的代码?
- java - 使用 log4j2 的 Spring Boot。配置 log4j2 Spring-lookup
- sql - 根据某些列选择尚未连接且唯一的记录
- office-js - 是否可以通过 Office JS 插件中的清单文件为功能区图标添加间距?
- graphdb - 如何将 GraphDB 作为 Windows 服务运行
- c# - 开发环境中的 CORS 错误;在本地工作正常
- javascript - 如何将这行 Jquery 转换为纯 Javascript?
- python - 如何在 python 和 scipy 中拟合这些数据?