如何使用telnet通过Mailgun通过SMTP发送测试电子邮件



我已经为我的域配置了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. 使用telnet客户端通过SMTP在端口587(STARTTLS(上测试发送电子邮件:
$ 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-通过smtp

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

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

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

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

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

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

并且类似地用于密码。

使用纯Telnet听起来是一种相当脆弱的方法;您确实希望使用适当的SMTP客户端与SMTP服务器进行通信。

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

最新更新