一个应用程序,显然使用了Chilkat插件,使用Office 365帐户不能正确发送电子邮件了。在从本地交换系统迁移到Microsoft 365之后,帐户和服务器设置在今年3月底进行了更改。此外,需要禁用邮箱的客户端身份验证。在那之后,通过应用程序发送电子邮件就成功了。现在,它又没有。昨天,计算机重新启动后,一封电子邮件可以成功发送-接下来的邮件又失败了。
我一直在寻找错误的原因,我也不知道,在连接期间应用程序究竟发送了什么数据,这使得分析更加困难。
我发现这篇文章提到TLS 1.0的条目需要在注册表中。这些都没有,但是有TLS 1.2的条目,所以我不认为这是一个问题,特别是因为关于加密的条目(也在帖子中提到)已经存在。与此同时,我还是添加了它们。
下面是Chilkat日志,显示在服务器准备好之后,clientHandshake2失败,错误代码为0x2746。
应用程序的支持人员他找不到任何问题,并询问有关错误代码的问题-我认为他应该能够检查。当我和他通电话时,我发现他对奇尔卡特的了解并不比我多。他提到了一个有趣的观点,需要仔细检查一下:只要他直接从用户那里得到了通知——或者他是如何理解的——如果用户选择了另一个"强制要求",错误就不会出现。(client)在应用程序中,并从那里发送电子邮件。
有人能帮忙找出错误的原因吗?
SendEmail:
DllDate: May 25 2017
ChilkatVersion: 9.5.0.68
UnlockPrefix: WERNERMAILQ
Architecture: Little Endian; 32-bit
Language: Visual C++ 2017 (32-bit)
VerboseLogging: 0
sendEmailInner:
renderToMime:
createEmailForSending:
Auto-generating Message-ID
--createEmailForSending
renderToMime: Elapsed time: 0 millisec
--renderToMime
sendMimeInner:
ensureSmtpSession:
ensureSmtpConnection:
SmtpHost: smtp.office365.com
SmtpPort: 587
SmtpUsername: edith.beer@halten.ch
SmtpSsl: 0
StartTLS: 1
smtpConnect:
smtpHostname: smtp.office365.com
smtpPort: 587
connectionIsReady:
Need new SMTP connection
--connectionIsReady
smtpSocketConnect:
socketOptions:
SO_SNDBUF: 262144
SO_RCVBUF: 4194304
TCP_NODELAY: 1
SO_KEEPALIVE: 1
--socketOptions
--smtpSocketConnect
smtpGreeting:
readSmtpResponse:
SmtpCmdResp: 220 AM0PR02CA0163.outlook.office365.com Microsoft ESMTP MAIL Service ready at Mon, 23 Aug 2021 11:51:12 +0000
--readSmtpResponse
--smtpGreeting
startTLS:
sendCmdToSmtp:
SmtpCmdSent: EHLO EWGH-N-FV<CRLF>
--sendCmdToSmtp
readSmtpResponse:
SmtpCmdResp: 250-AM0PR02CA0163.outlook.office365.com Hello [213.221.219.37]
SmtpCmdResp: 250-SIZE 157286400
SmtpCmdResp: 250-PIPELINING
SmtpCmdResp: 250-DSN
SmtpCmdResp: 250-ENHANCEDSTATUSCODES
SmtpCmdResp: 250-STARTTLS
SmtpCmdResp: 250-8BITMIME
SmtpCmdResp: 250-BINARYMIME
SmtpCmdResp: 250-CHUNKING
SmtpCmdResp: 250 SMTPUTF8
--readSmtpResponse
sendCmdToSmtp:
SmtpCmdSent: STARTTLS<CRLF>
--sendCmdToSmtp
readSmtpResponse:
SmtpCmdResp: 220 2.0.0 SMTP server ready
--readSmtpResponse
clientHandshake:
clientHandshake2:
readHandshakeMessages:
WindowsError: Eine vorhandene Verbindung wurde vom Remotehost geschlossen.
WindowsErrorCode: 0x2746
maxToReceive: 5
Failed to receive data on the TCP socket
Failed to read beginning of SSL/TLS record.
b: 0
dbSize: 0
nReadNBytes: 0
idleTimeoutMs: 30000
--readHandshakeMessages
--clientHandshake2
--clientHandshake
Client handshake failed. (1)
connectionClosed: 0
Failed to establish TLS connection.
--startTLS
--smtpConnect
--ensureSmtpConnection
--ensureSmtpSession
--sendMimeInner
--sendEmailInner
Failed.
--SendEmail
--ChilkatLog
23.08.2021 13:48:27 -F- Beim Versand der Lohnabrechnung per Email an Mitarbeiter(in) Nadine Aeschlimann ist ein Fehler aufgetreten!
您使用的是旧版本的Chilkat。请使用最新版本进行测试。
在此期间我们可以解决它。
原因是外发请求被防火墙阻止。奇怪的是,他们中的一些人通过了,但不是全部。这就是为什么网络问题最初不是我们调查的重点。