我目前面临一个模糊的问题,我希望有人可能知道答案。
过去,我的公司正在使用Delphi 5.电子邮件发送由一个名为TNMSMTP的组件处理。这些应用程序的定制是使用虚假邮件地址作为额外的信息来源。例如,如果服务" ReceiveDelivery"在服务器上sv102会遇到问题,邮件地址会被ReceiveDelivery @ sv102
我在这里很新,并试图说服管理层迈出.net编程的一步。为此,我需要使用system.net.mail框架模仿上述行为。 但是,每当我尝试使用假邮件地址时,我都会收到5.7.1"客户端无权作为此发件人发送"例外。 新程序在同一台服务器上,在同一个用户下运行,并尝试访问与旧的delphi程序相同的smtp服务器。
我的问题是:我能否以某种方式绕过这一点,或者我是否需要回到德尔福才能实现这一目标?
答案 0 :(得分:4)
您收到的错误来自您的smtp服务器,表明您未以与以前相同的方式对服务器进行身份验证。
您确定已正确配置smtp客户端吗?您可以使用.config文件中的smtp configuration element或runtime programmatically。
执行此操作此外,您可以尝试使用服务器的完全限定域名(FQDN)。例如,发件人电子邮件地址为: ReceiveDelivery@sv102.internal.company.com 。您可以使用以下.NET代码获取FQDN:How to find FQDN of local machine in C#/.NET ?。
答案 1 :(得分:0)
所以我们终于找到了解决这个问题的方法。 似乎发送带有可变发件人地址的邮件的权利不是绑定到特定用户,而是绑定到运行应用程序的服务器。
就我而言,.net开发服务器不在该列表中。现在我们添加了它,我可以使用这个功能。
谢谢你们!