【问题标题】:Send Grid SMTP server sometimes can not connectSendgrid SMTP 服务器有时无法连接
【发布时间】:2020-05-22 06:57:13
【问题描述】:


我正在我的 AWS EC2 实例上构建 Jenkins 服务器。
构建完成后,我想向利益相关者发送电子邮件。
我在端口 587 中使用带有 smtp.sendgrid.net 的 STMP。
但我有时无法发送电子邮件。詹金斯的日志说

MessagingException 消息:无法连接到 SMTP 主机: smtp.sendgrid.net,端口:587

我访问 EC2 实例并远程登录到 sendgrid。它说:

[hostname@domain ~]$ telnet smtp.sendgrid.net 587
Trying 161.202.148.179...
telnet: connect to address 161.202.148.179: Connection timed out
Trying 161.202.148.182...
telnet: connect to address 161.202.148.182: Connection timed out
Trying 169.38.103.39...
Connected to smtp.sendgrid.net.
Escape character is '^]'.
220 SG ESMTP service ready at ismtpd0004p1maa1.sendgrid.net

我理解这意味着我只能访问来自 smtp.sendgrid 域的一些 ip。我肯定会打开 EC2 的所有出站规则。
因为这个问题有时会发生,所以任何人都可以给我任何关于这种情况的建议。
我打算使用 IP 而不是域,但这只是一种解决方法,IP 可以随时更改。
请帮帮我。

【问题讨论】:

  • 嗨!你修好了吗?我有同样的问题
  • 还没有,对于低级重要目的使用 IP 是可以接受的。我认为这是人们转向使用简单电子邮件服务 (Amazon SES) 的一种方式
  • 我解决了这个问题并发布了答案。让我知道它是否适合你

标签: email amazon-ec2 smtp sendgrid


【解决方案1】:

我遇到了类似的问题,如果您的 EC2 出站规则已打开,那么您应该确保您提供 SMTP 身份验证以及您的 SMTP 服务器和 SMTP 端口,并且您的 DNS 解析器足够好。

Sendgrid 需要用户名和密码。

  • 用户名:是“apikey”,可能需要用base64编码“YXBpa2V5”。
  • 密码:这是您的 API 密钥,从 Sendgrid 获取并保存在这里。它可能必须以 base64 编码。

我尝试了base64编码,但它不起作用,所以我尝试不使用编码,它有效。

如果您的问题与身份验证无关,您可以查看您的 DNS 解析器,可能问题就在那里。

【讨论】:

    猜你喜欢
    • 2015-06-13
    • 2020-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多