这也许能帮你找到正确的:
dig +short smtp.mydomain.info|xargs -n 1 nslookup|grep name=
这也许能帮你找到正确的:
dig +short smtp.mydomain.info|xargs -n 1 nslookup|grep name=
抱歉,它不起作用,错误仍然是:
SSL_connect returned=1 errno=0 state=error: certificate verify failed (Hostname mismatch)
使用版本 2.9.0.beta4 (0acbd63320) 时可以正常工作,我可以降级吗?
我创建了一个支持 start tls 的新临时电子邮件帐户,希望能在 2.9.0.beta5 发布之前修复它。
我遵循了上面的建议,将主机名设置为证书上的名称。
值得注意的是,在这种情况下,问题似乎只发生在启动器发起的重建之后,而不仅仅是升级。也许是启动器脚本有问题?
您能告诉我您是怎么做到的吗?
我快疯了,我无法在没有 SSL 和 TLS 的情况下使用端口 25 或 587 的 SMTP 服务器
谢谢
由于我的配置不需要 TLS,所以届时我可能无法帮助您。我认为唯一能做的就是使用提供有效证书的第三方电子邮件提供商,或者等待修复以允许绕过此问题。
你尝试过 Richard 的 dig 命令来查找你的 SMTP 服务器(它拥有证书)的主机名吗?
我的也不需要 TLS 和 SSL ![]()
这里有类似的问题 https://meta.discourse.org/t/cant-receive-emails/224414/14。
基础镜像或外部库或 gem 是否有任何更改?
是的,没错,是同一个问题……大约两周前开始的。
可以都试试
DISCOURSE_SMTP_ENABLE_START_TLS: false
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
吗?
我尝试了最先想到的方法,但仍然是同样的错误
SSL_connect returned=1 errno=0 state=error: certificate verify failed (Hostname mismatch)
嘿,我尝试了这两种选项。它仍然不起作用:
DISCOURSE_SMTP_ADDRESS: REDACTED
DISCOURSE_SMTP_PORT: 25
DISCOURSE_SMTP_USER_NAME: REDACTED
DISCOURSE_SMTP_PASSWORD: REDACTED
DISCOURSE_SMTP_ENABLE_START_TLS: false # (optional, default true)
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_AUTHENTICATION: "login"
我仍然收到 certificate verify failed (self signed certificate)。
对我来说,这是一个长期存在的阻止性 bug……
我建议您创建一个新的临时电子邮件地址,该地址支持 SMTP TLS。
这可能与这个 gem 有关吗?
我遇到了完全相同的问题。昨天,当我通过重建升级到 2.9.0.beta4 (a5779a7d0b) 时,问题就开始出现了。我没有对 app.yml 或其他任何内容进行任何更改。只是重建了一下。
我现在有超过 1300 个失败的任务。
我在日志中看到了 SSL 错误(截图见下文),我想知道重建是否突然忽略了 DISCOURSE_SMTP_ENABLE_START_TLS 标志?
这是我的 app.yml 文件中“一直”有的内容:(再次强调,未做任何更改)
DISCOURSE_SMTP_ADDRESS: 172.17.0.1
DISCOURSE_SMTP_PORT: 25
DISCOURSE_SMTP_AUTHENTICATION: none
DISCOURSE_SMTP_ENABLE_START_TLS: false # (optional, default true)
编辑:这是我在主机(邮件服务器)的邮件日志中看到的内容。错误消息是新的,在重建之后开始出现。
重建前关于 Discourse 的最后一则邮件日志条目:
May 23 17:16:02 localhost postfix/smtpd[5247]: connect from discourse-docker[172.17.0.2]
May 23 17:16:02 localhost postfix/smtpd[5247]: 0D803B67FB: client=discourse-docker[172.17.0.2]
May 23 17:16:02 localhost postfix/cleanup[5279]: 0D803B67FB: message-id=<topic/421230/2413438.f609f9d756c226a154de43f4@forums.jag-lovers.com>
May 23 17:16:02 localhost postfix/smtpd[5247]: disconnect from discourse-docker[172.17.0.2] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
重建后服务器上邮件日志中关于 Discourse 的第一条条目:
May 23 17:22:48 localhost postfix/smtpd[10929]: connect from discourse-docker[172.17.0.2]
May 23 17:22:48 localhost postfix/smtpd[10929]: SSL_accept error from discourse-docker[172.17.0.2]: -1
May 23 17:22:48 localhost postfix/smtpd[10929]: warning: TLS library problem: error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:../ssl/record/rec_layer_s3.c:1528:SSL alert number 42:
May 23 17:22:48 localhost postfix/smtpd[10929]: lost connection after STARTTLS from discourse-docker[172.17.0.2]
May 23 17:22:48 localhost postfix/smtpd[10929]: disconnect from discourse-docker[172.17.0.2] ehlo=1 starttls=0/1 commands=1/2
此后,邮件日志中关于 Discourse 的条目看起来都一样。
截图:
我尝试从 Discourse Docker 容器内部使用 curl 发送消息。一旦我确保指定了明文 SMTP 和端口 25,我就可以通过主机正常发送电子邮件:
$ cd /var/discourse/
$ sudo ./launcher enter app
x86_64 arch detected.
root@discourse-app:/var/www/discourse# curl smtp://172.17.0.1 --mail-from discourse@mydomain.com --mail-rcpt myname@gmail.com --upload-file README.md
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7077 0 0 100 7077 0 575k --:--:-- --:--:-- --:--:-- 575k
root@discourse-app:/var/www/discourse#
这是主机电子邮件日志中该测试的样子:
May 24 16:53:49 localhost postfix/smtpd[25494]: connect from discourse-docker[172.17.0.2]
May 24 16:53:49 localhost postfix/smtpd[25494]: EB62CB5FCD: client=discourse-docker[172.17.0.2]
May 24 16:53:49 localhost postfix/cleanup[26008]: EB62CB5FCD: message-id=<>
May 24 16:53:49 localhost opendkim[1365]: EB62CB5FCD: can't determine message sender; accepting
May 24 16:53:49 localhost postfix/smtpd[25494]: disconnect from discourse-docker[172.17.0.2] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
鉴于我在 app.yml 中指定了无 TLS 和端口 25,并且在昨天重建之前一直有效,这越来越表明最新的 Discourse 正在忽略我在 app.yml 中的 SMTP 配置。
@pfaffman 和/或 @codinghorror,顶一下。
你们觉得这是个 bug,还是其他什么问题?
@gunnar 我已将您的帖子移至此处,因为这正是您所描述的电子邮件问题。
我不确定“帖子已被占用”错误是否也由该问题引起,但您提供的有关电子邮件的详细信息属于此问题。
对我来说,30天后仍然存在这个问题似乎很荒谬……
我不得不更换我的电子邮件提供商才能让我的论坛再次运行。
这很令人沮丧,但在我看来,有些 gem 不再支持忽略 b 无效证书和/或未加密传输。也许就这样了,通过这种方式发送邮件的日子已经结束了。但我自己没有遇到这个问题,所以我没有仔细查看,无法确定我是否正确。