Sendmail - 如何中继/发送电子邮件?(503 错误:未授权,使用 AUTH)

Sendmail - 如何中继/发送电子邮件?(503 错误:未授权,使用 AUTH)

我一直在遵循如何使用智能主机 ssrs.reachmail.net 设置 sendmail,但是我似乎无法成功地将电子邮件从我的服务器发送到我的 gmail 帐户。

我觉得我误解了一些事情,下一步该怎么办?我需要创建一个电子邮件服务器来使用电子邮件发件人电子邮件吗?[电子邮件保护]?我假设这就是 sendmail 所做的?

以下是测试电子邮件

root@example:/etc/mail/auth# sendmail -Am -v -t
to: [email protected]
From: [email protected]
Subject: Test
Test

[email protected]... Connecting to ssrs.reachmail.net. port 587 via relay...
220 ssrs.reachmail.net rmsmtp 3.1.0a c8a9c89b7f
>>> EHLO example.duckdns.org
250-EASYSMTP
250-8BITMIME
250-SIZE 102400000
250-AUTH PLAIN LOGIN
250 STARTTLS
>>> STARTTLS
220 go ahead
>>> EHLO example.duckdns.org
250-EASYSMTP
250-8BITMIME
250-SIZE 102400000
250-AUTH PLAIN LOGIN
250 STARTTLS
>>> MAIL From:<[email protected]> SIZE=70
503 error: not authorized, use AUTH
root... Connecting to local...
root... Sent
Closing connection to ssrs.reachmail.net.
>>> QUIT
221 bye

这是在 /var/log/mail.log 中

Mar  1 22:25:35 example sendmail[4733]: t226OaIL004733: from=root, size=70, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Mar  1 22:25:36 example sendmail[4733]: STARTTLS=client, relay=ssrs.reachmail.net., version=TLSv1/SSLv3, verify=FAIL, cipher=AES256-SHA, bits=256/256
Mar  1 22:25:36 example sendmail[4733]: t226OaIL004733: [email protected], ctladdr=pi (1000/1000), delay=00:01:00, xdelay=00:00:01, mailer=relay, pri=30070, relay=ssrs.reachmail.net. [66.251.253.157], dsn=5.0.0, stat=Service unavailable
Mar  1 22:25:36 example sendmail[4733]: t226OaIL004733: t226OaIM004733: DSN: Service unavailable
Mar  1 22:25:36 example sendmail[4733]: t226OaIM004733: to=root, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30000, dsn=2.0.0, stat=Sent

答案1

问题在于您SMART_HOST不信任您的服务器可以将邮件从任意发件人发送到任意收件人,并且认为您是一个普通的中继器,因此拒绝您。

您可以控制ssrs.reachmail.net,在这种情况下,您需要通过在(例如)中列出其 IP 地址/etc/mail/access并重新制作 DB 文件来告诉它您的服务器有权发送邮件。或者您不控制它,在这种情况下,您需要告诉服务器的 sendmail 它应该按照错误消息所述进行操作并使用 进行SMTP AUTH身份验证,ssrs.reachmail.net然后再尝试从它转发邮件。

相关内容