Discourse 和 MailJet 问题

我在使用亚马逊的SES在沙盒模式下一切正常,但亚马逊拒绝了我访问生产模式的权限。
我决定尝试使用MailJet,但我认为我遗漏了什么,而且我无法理解。

有什么想法是我做错了什么吗?
Discourse中没有错误,它显示邮件已发送
我可以Telnet SMTP地址和端口

在MailJet中:
SPF/DKIM是绿色的
论坛域名已激活
我的zzz@gmail.com也已激活

我的app.yml:

  DISCOURSE_SMTP_ADDRESS: in-v3.mailjet.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: xxx (来自子账户API)
  DISCOURSE_SMTP_PASSWORD: "yyy" (来自子账户API)
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (可选,默认为true)
  DISCOURSE_SMTP_DOMAIN: gmail.com
  DISCOURSE_NOTIFICATION_EMAIL: zzz@gmail.com

您无法从 Gmail.com 发送邮件。您必须使用已配置 Mail Hey 发送的域地址。Smtp 域应该是您的主机名,尽管它可能无关紧要(除非它确实有关)。

1 个赞

我刚尝试将 SMTP_DOMAIN 从 gmail.com 更改为我的 Route53 域,并且还尝试删除 TLS 加密,但都没有成功。
应该这样设置吗?

此时不确定问题出在哪里……

像这样:

  DISCOURSE_SMTP_ADDRESS: in-v3.mailjet.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: xxx (来自子账户 API)
  DISCOURSE_SMTP_PASSWORD: "yyy" (来自子账户 API)
  DISCOURSE_SMTP_ENABLE_START_TLS: false           # (可选,默认为 true)
  DISCOURSE_SMTP_DOMAIN: mydomain.net
  DISCOURSE_NOTIFICATION_EMAIL: noreply@mydomain.net

那么 Mailjet 正在接受它。我们无法猜测它是否未发送,或者您的邮箱是否正在拒绝它(您检查过垃圾邮件了吗?)

请参阅 在新安装的 Discourse 上排除电子邮件故障

是的,我尝试过这个方法,并尝试重新设置整个 MailJet,重新生成密钥。
尝试了不同的端口(25、465、587 TLS 或不 TLS)但都没有成功。
使用 25 和 465 端口时,至少 Discourse 会告诉我它不起作用,使用 465 端口时,它会显示 250 OK queued as xxxx'

问题是,在 MailJet 中,统计数据显示在此期间没有发送一封电子邮件。

密钥没问题。问题在于发送地址(我认为)。

如果 discourse 说已送达,那么它已被 Mailjet 接受,并且应该在日志中。您尝试过 mail-tester.com 吗?

嗯,这真是一个不错的工具……
我最初尝试时,电子邮件从未送达。
我收到了 MailJet 的通知,说我试图从 noreply@www.zzz.net 发送电子邮件,这是我在尝试按照故障排除程序进行操作时进行的一个更改。

我删除了 www,基本上回到了之前的配置,但这次奏效了……我想我永远不会知道为什么。

感谢您的帮助,一切都进展得很顺利,直到 Amazon SES 拒绝了我,我不得不寻找替代方案。

这是现在可以工作的配置:

  DISCOURSE_SMTP_ADDRESS: in-v3.mailjet.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: xxx
  DISCOURSE_SMTP_PASSWORD: "yyy"
  DISCOURSE_SMTP_ENABLE_START_TLS: false           # (optional, default true)
  DISCOURSE_SMTP_DOMAIN: mydomain.net
  DISCOURSE_NOTIFICATION_EMAIL: noreply@mydomain.net
1 个赞