通过 IPv4 使用 ssmtp 发送邮件

通过 IPv4 使用 ssmtp 发送邮件

显然是 DigitalOcean阻止 IPv6 上的出站 SMTP

我可以通过telnet以下方式确认这一点:

⟫ telnet smtp.gmail.com 465
Trying 2607:f8b0:400d:c07::6c...
        > Waits for about 2 minutes before it continues <
Trying 173.194.204.108...
Connected to smtp.gmail.com.
Escape character is '^]'.

因此似乎过了一段时间后它又会回到 IPv4。

使用telnet -4立即生效:

⟫ telnet -4 smtp.gmail.com 465
Trying 173.194.204.108...
Connected to gmail-smtp-msa.l.google.com.
Escape character is '^]'.

我发现也ssmtp有一个-4选项:

-4
      强制 ssmtp 仅使用 IPv4 地址。

然而由于某种原因,无论是否有-4ssmt超时,我都会得到相同的结果(或者有时会在约 2 分钟后成功发送电子邮件)。

我的问题:-4为什么虽然可以连接,但是不起作用telnet -4

或者:我该如何最好地调试它?是否有一些netcat命令或其他东西可以用来确认ssmtp确实正在尝试通过 IPv4 进行连接?

相关内容