【问题标题】:How to send a test email over SMTP with Mailgun using telnet?如何使用 telnet 使用 Mailgun 通过 SMTP 发送测试电子邮件?
【发布时间】:2021-02-11 17:21:30
【问题描述】:

我已为我的域配置 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 客户端在端口587 (STARTTLS) 上通过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

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

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

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

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

【问题讨论】:

    标签: email smtp telnet mailgun bulk-mail


    【解决方案1】:

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

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

    密码也是如此。

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

    【讨论】:

    • 我测试了用你的命令生成用户名和密码,它给了我535 Authentication failed。我使用telnet,因为commento smtp client 也无法使用这些凭据登录,裸telnet 听起来像是在不安装另一个客户端的情况下测试凭据的正确方法。我仍然卡住了。 (我也试过用thunderbird添加smtp服务器,但是在发送邮件时无法选择它并将其设置为默认仍然使用不同的smtp服务器)
    • 有一些简单的命令行 SMTP 客户端你可以试试;我将根据smtplib 文档中的示例创建一个 Python 脚本。
    • 在登录之前也可以使用EHLO
    • 我已经在这里尝试了mailgun提供的SMTP客户端:documentation.mailgun.com/en/latest/…,不是SMTP客户端也不是telnet问题,我总是使用telnet通过STARTTLS测试SMTP。也许我们应该朝着正确的方向寻找,凭据有什么问题?
    • 刚刚发布了答案。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 2017-05-12
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多