Ruby on rails ArgumentError(请求SMTP-AUTH,但缺少用户名)
我正在开发一个名为PhotoApp的基本应用程序,我正在学习如何使用rails设置SMTP。我以前在SMTP中使用过基本的Ruby,我知道我的电子邮件是有效的,只是发送的电子邮件会进入垃圾邮件文件夹 但是当我试图在Rails上配置SMTP时,我得到了Ruby on rails ArgumentError(请求SMTP-AUTH,但缺少用户名),ruby-on-rails,smtp,actionmailer,Ruby On Rails,Smtp,Actionmailer,我正在开发一个名为PhotoApp的基本应用程序,我正在学习如何使用rails设置SMTP。我以前在SMTP中使用过基本的Ruby,我知道我的电子邮件是有效的,只是发送的电子邮件会进入垃圾邮件文件夹 但是当我试图在Rails上配置SMTP时,我得到了ArgumentError(SMTP-AUTH请求但缺少用户名):,这就是为什么每次用户注册时,应用程序推送到heroku时都会崩溃的主要原因 下面是我的config/environments/development.rb: config.act
ArgumentError(SMTP-AUTH请求但缺少用户名):
,这就是为什么每次用户注册时,应用程序推送到heroku时都会崩溃的主要原因
下面是我的config/environments/development.rb:
config.action\u mailer.default\u url\u options={host:'localhost:8080'}
config.action\u mailer.delivery\u method=:smtp
config.action\u mailer.smtp\u设置={
地址:'smtp.gmail.com',
港口:587,
域:'example.net',
身份验证:“普通”,
启用\u starttls\u auto:true,
用户名:“gmail\u电子邮件”,
密码:“…”
}
config.action\u mailer.raise\u delivery\u errors=true
config.action\u mailer.perform\u deliveries=true
我在开发模式下运行localhost:8080上的服务器,因此我的主机设置为localhost:8080
除此之外,我无法让我的应用程序使用我的gmail用户名和rails中的SMTP
编辑,此ruby代码可以工作:
#!/usr/bin/ruby -w
require 'net/smtp'
message = <<~EOF
From: mygmail@gmail.com
To: someone@protonmail.com
Subject: Hello!
Hello!
#{"HELLO ".*(50).delete_suffix(?\s)}
EOF
Net::SMTP.new('smtp.gmail.com', 587).tap(&:enable_starttls_auto).start('gmail.com', 'mygmail@gmail.com', 'mygmailpass', :plain) do |smtp|
smtp.send_message message, 'mygmail@gmail.com', 'someone@protonmail.com'
end
#/usr/bin/ruby-w
需要“net/smtp”
message=user\u name
应该是gmail地址。e、 g.abcdexample@gmail.com
密码将是该gmail地址的密码是的,我这样做了。更改后您重新启动了服务器吗?是的,我这样做了,我认为这是一个错误,因为一切都设置正确,Rails.application.config.action\u mailer.smtp\u settings[:user\u name]
还会返回我的电子邮件地址。