【问题标题】:Send mail with not existing mailaccount as sender使用不存在的邮件帐户作为发件人发送邮件
【发布时间】:2014-07-08 15:07:19
【问题描述】:

我目前面临一个晦涩难懂的问题,我希望有人知道这个问题的答案。

过去,我的公司使用 Delphi 5。电子邮件发送由一个名为 TNMSMTP 的组件处理。这些应用程序习惯使用假邮件地址作为额外的信息来源。例如,如果服务器 sv102 上的“ReceiveDelivery”服务遇到问题,则邮件地址为 ReceiveDelivery@sv102

我是这里的新手,并试图说服管理层迈向 .net 编程。为此,我需要使用 system.net.mail 框架来模仿上述行为。 但是,每当我尝试使用虚假邮件地址时,我都会收到 5.7.1“客户端无权作为此发件人发送”异常。 新程序在同一台服务器上以同一用户运行,并尝试访问与旧的 delphi 程序相同的 smtp 服务器。

我的问题是:我能以某种方式绕过这个,还是我需要回到 Delphi 才能让它工作?

【问题讨论】:

    标签: c# delphi-5 system.net.mail


    【解决方案1】:

    您收到的错误来自您的 smtp 服务器,这表明您没有像以前那样在服务器上进行身份验证。

    您确定您已正确配置 smtp 客户端吗?您可以使用 .config 文件中的smtp configuration elementruntime programmatically 来执行此操作。

    另外,您可以尝试使用服务器的完全限定域名 (FQDN)。例如,发件人电子邮件地址为:ReceiveDelivery@sv102.internal.company.com。您可以使用以下 .NET 代码获取 FQDN:How to find FQDN of local machine in C#/.NET ?

    【讨论】:

    • 您提到程序“在同一用户下”运行。您的 .NET 代码是使用网络凭据(例如配置的用户名和密码)向 SMTP 服务器进行身份验证,还是依赖于基于当前用户的某种形式的隐式身份验证?在此处查看有关身份验证的备注:msdn.microsoft.com/en-us/library/ms164242(v=vs.110).aspx
    【解决方案2】:

    所以我们终于找到了解决这个问题的方法。 似乎发送具有可变发件人地址的邮件的权限不受特定用户的约束,而是与运行应用程序的服务器绑定。

    就我而言,.net 开发服务器不在该列表中。现在我们添加了它,我可以使用这个功能了。

    谢谢你们!

    【讨论】:

      猜你喜欢
      • 2016-11-22
      • 2019-06-30
      • 2011-01-29
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      • 2015-09-05
      • 1970-01-01
      • 2019-04-06
      相关资源
      最近更新 更多