0

我管理一个使用用户的 smtp 凭据发出电子邮件的 Web 应用程序,今天我遇到了一个我不明白的故障。

有问题的 smtp 凭据正在尝试使用smtp-relay.gmail.com. 使用telnet-style 方法,我可以使用此服务器和这些凭据进行身份验证,但我无法发送邮件。(请参阅下面的代码块。)是否允许相关用户连接但不允许通过此中继发送电子邮件?这是邮件中继的共同特征吗?我承认我对电子邮件服务器没有什么经验。

openssl s_client -crlf  -connect smtp-relay.gmail.com:587 -starttls smtp
# ...
250 SMTPUTF8
EHLO example.com
250-mx.google.com at your service, [207.183.229.82]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
AUTH LOGIN
334 VXNlcm5hbWU6
dXNlcm5hbWU=
334 UGFzc3dvcmQ6
cGFzc3dvcmQ=
235 2.7.0 Accepted
MAIL FROM:<me@example.com>
550 5.7.0 Mail relay denied [207.183.229.82]. q16sm4967413pdn.0 - gsmtp
read:errno=0

TMI:

该应用程序是 Ruby on Rails 应用程序,以下引发的错误是EOFError: end of file reached

my_message # => #<Mail::SMTP:0x0000000a658da8 @settings={:address=>"smtp-relay.gmail.com", :port=>587, :domain=>"example.com", :user_name=>"me@example.com", :password=>"mypassword", :authentication=>"login", :enable_starttls_auto=>true, :openssl_verify_mode=>"none", :ssl=>nil, :tls=>false, :ca_file=>"/etc/pki/tls/certs/ca-bundle.crt"}>
my_message.deliver # => EOFError
4

0 回答 0