1

我已经为我的域配置了 Mailgun:(blog.kop.com假域),我已经在 mailgun 仪表板上重置了该域的 SMTP 密码。

我通常使用 Mailgun API,这就是为什么我想测试从命令行发送的 SMTP 以检查我是否拥有正确的凭据,例如,我将使用以下密码:

  • 用户名:(postmaster@blog.kop.com我猜的)
  • 密码:(d3bec33d3bc3e333333b3e333a3e33-3a3aa3d3-333ddf3由mailgun提供)

这就是我所做的:

  1. 将 转换username为 base64:
$ echo postmaster@blog.kop.com | base64
cG9zdG1hc3RlckBibG9nLmtvcC5jb20K
  1. 将 转换password为 base64:
$ echo d3bec33d3bc3e333333b3e333a3e33-3a3aa3d3-333ddf3 | base64
ZDNiZWMzM2QzYmMzZTMzMzMzM2IzZTMzM2EzZTMzLTNhM2FhM2QzLTMzM2RkZjMK
  1. 587测试通过 SMTP 在端口(STARTTLS) 上与客户端发送电子邮件telnet
$ telnet smtp.mailgun.org 587
Trying 3.93.221.84...
Connected to smtp.mailgun.org.
Escape character is '^]'.
220 Mailgun Influx ready
ehlo blog.kop.com
250-smtp-out-n01.prod.us-east-1.postgun.com
250-AUTH PLAIN LOGIN
250-SIZE 52428800
250-8BITMIME
250-SMTPUTF8
250-PIPELINING
250 STARTTLS
AUTH LOGIN
334 VXNlcm5hbWU6
cG9zdG1hc3RlckBibG9nLmtvcC5jb20K
334 UGFzc3dvcmQ6
ZDNiZWMzM2QzYmMzZTMzMzMzM2IzZTMzM2EzZTMzLTNhM2FhM2QzLTMzM2RkZjMK
535 Authentication failed
Connection closed by foreign host.

看来我的凭据不正确,这是通过 SMTP 发送邮件的 mailgun 文档:https ://documentation.mailgun.com/en/latest/user_manual.html#sending-via-smtp

我还尝试使用那里的代码片段和他们的swaks程序:https ://documentation.mailgun.com/en/latest/quickstart-sending.html#send-via-smtp

我也有错误的凭据。我复制粘贴了凭据并确认它们是正确的。

我已经使用 API 遇到了这个问题,mailgun 文档为欧洲地区提供了错误的 api 地址。我现在认为smtp.mailgun.org这不是适合欧洲地区的服务器,但我找不到与之相关的任何东西。

  • 这些步骤有什么问题?
  • 为什么我无法发送电子邮件?
  • 如何使用 mailgun、starttls 和 telnet 通过 SMTP 发送电子邮件?
4

2 回答 2

1

当您echo输入一个字符串时,您包含一个换行符,但换行符不应包含在您传递给的凭据中SMTP AUTH。尝试

printf '%s' 'postmaster@blog.kop.com' | base64

密码也是如此。

使用裸 Telnet 听起来是一种非常脆弱的方法。您真的想使用适当的 SMTP 客户端与 SMTP 服务器通信。

于 2020-10-29T10:42:06.587 回答
0

对于欧洲,SMTP 地址是smtp.eu.mailgun.org.

于 2020-10-29T11:26:50.290 回答