.NET项目在服务器迁移后停止发送电子邮件

问题描述 投票:0回答:1

我将.NET Framework REST API项目迁移到新服务器和新域。以前和新服务器上的操作系统都是Windows Server 2016.我使用的是基于SSL / TLS的gmail smtp服务器。相关端口在AWS中打开(我迁移到的位置)。

我可以使用powershell手动发送电子邮件,但在调用API时,没有任何反应。相同的smtp配置在旧服务器上运行 - 所以这部分很好。

对于Windows服务器和/或.NET,我有点无能为力,我可能错过了一些明显的东西。例如,我不确定在使用gmail smtp时是否需要在IIS上设置SMTP服务器。

更新:

按照@TheEdge建议,我查看了事件日志,看起来我正在收到审计失败。但是我无法理解它。

An account failed to log on.

Subject:
    Security ID:        NULL SID
    Account Name:       -
    Account Domain:     -
    Logon ID:       0x0

Logon Type:         3

Account For Which Logon Failed:
    Security ID:        NULL SID
    Account Name:       USER4
    Account Domain:     

Failure Information:
    Failure Reason:     Unknown user name or bad password.
    Status:         0xC000006D
    Sub Status:     0xC0000064

Process Information:
    Caller Process ID:  0x0
    Caller Process Name:    -

Network Information:
    Workstation Name:   -
    Source Network Address: __.___.___.___
    Source Port:        0

Detailed Authentication Information:
    Logon Process:      NtLmSsp 
    Authentication Package: NTLM
    Transited Services: -
    Package Name (NTLM only):   -
    Key Length:
c# .net iis smtp windows-server
1个回答
1
投票

通过SMTP发送电子邮件的“事物”是您必须查看的地方。因此,如果您提供实际执行SMTP发送的代码,那么最好。因为您使用Google发送电子邮件,所以您无需在IIS中设置任何内容即可实现此功能。

我的猜测是,从IIS内部的API发送电子邮件时,您有权限问题。您是否查看了事件日志以查看其中是否有任何消息,或者应用程序是否发出异常等日志记录?

为了快速诊断任何网络问题,我建议您查看how to configure network tracing in .NET,然后查看其中的任何错误消息。该日志将告诉您应用程序是否在将其从网络中删除和/或连接到Google时遇到问题。

© www.soinside.com 2019 - 2024. All rights reserved.