问题描述
我已经为我的域blog.kop.com
(伪域)配置了Mailgun,已经在mailgun仪表板上重置了该域的SMTP密码。
我通常使用Mailgun API,这就是为什么我要测试从命令行发送的SMTP以检查我是否具有正确的凭据,例如,我将使用以下密码:
- 用户名:
[email protected]
(我猜) - 密码:
d3bec33d3bc3e333333b3e333a3e33-3a3aa3d3-333ddf3
(由mailgun提供)
这就是我要做的:
- 将
username
转换为base64:
$ echo [email protected] | base64
cG9zdG1hc3RlckBibG9nLmtvcC5jb20K
- 将
password
转换为base64:
$ echo d3bec33d3bc3e333333b3e333a3e33-3a3aa3d3-333ddf3 | base64
ZDNiZWMzM2QzYmMzZTMzMzMzM2IzZTMzM2EzZTMzLTNhM2FhM2QzLTMzM2RkZjMK
- 使用
587
客户端通过端口telnet
(STARTTLS)上的SMTP通过SMTP发送电子邮件:
$ 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
不是适合欧洲地区的服务器,但是我找不到与之相关的任何信息。
解决方法
在echo
字符串中,您要包含换行符,但不应将新行包含在传递给SMTP AUTH
的凭据中。试试
printf '%s' '[email protected]' | base64
,同样输入密码。
使用裸露的Telnet听起来很脆弱。您确实要使用适当的SMTP客户端与SMTP服务器进行通讯。
,在欧洲,SMTP地址为smtp.eu.mailgun.org
。