我目前面临一个模糊的问题,我希望有人知道这个问题的答案。
过去,我的公司使用 Delphi 5。电子邮件发送由名为 TNMSMTP 的组件处理。这些应用程序习惯于使用伪造的邮件地址作为额外的信息来源。例如,如果服务器 sv102 上的服务“ReceiveDelivery”遇到问题,邮件地址将为 ReceiveDelivery@sv102
我是新来的,我试图说服管理层转向 .net 编程。为此,我需要使用 system.net.mail 框架来模仿上述行为。 但是,每当我尝试使用虚假邮件地址时,我都会收到 5.7.1“客户端无权作为此发件人发送”异常。 新程序在同一台服务器上运行,在同一用户下,并尝试访问与旧 delphi 程序相同的 smtp 服务器。
我的问题是:我能否以某种方式绕过它,或者我是否需要返回 Delphi 才能使其正常工作?
最佳答案
您收到的错误来自您的 smtp 服务器,这表明您没有像以前那样通过服务器进行身份验证。
您确定您已正确配置 smtp 客户端吗?您可以使用 smtp configuration element在您的 .config 文件中或在 runtime programmatically .
此外,您可以尝试使用服务器的完全限定域名 (FQDN)。例如,发件人电子邮件地址为:ReceiveDelivery@sv102.internal.company.com。您可以使用以下 .NET 代码获取 FQDN:How to find FQDN of local machine in C#/.NET ? .
关于c# - 以不存在的邮件帐户作为发件人发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24635347/