2012-01-13 88 views
1

首先,不知道这个问题应该已经在serverfault与stackoverflow,对不起,如果它是在错误的地方。发送外部电子邮件作为通讯组在ASP .Net

我从我的ASP .Net应用程序发送电子邮件到外部电子邮件的问题,其中“发件人”地址是通讯组。我会尝试一切铺陈:

电子邮件服务器:Exchange 2010中

我有一个域用户“websmtp”这是为了执行身份验证的发送创建。

我试图从[email protected]发送邮件。这是一个发行版(实际上可能是一个安全组?)。我想这样做,所以对我的电子邮件的回复将发送给该​​组。没有人会监视websmtp用户的邮箱。

这里是web.config中的SMTP部分

<system.net> 
    <mailSettings> 
     <smtp from="[email protected]"> 
      <network host="XXX.XXX.XXX.XXX" userName="websmtp" password="thepassword" /> 
     </smtp> 
    </mailSettings> 
</system.net> 

示例电子邮件代码:

MailMessage mm = new MailMessage(); 
mm.To.Add("[email protected]"); 
mm.Subject = "this is a test"; 
mm.Body = "this is a test"; 
mm.IsBodyHtml = false; 

SmtpClient s = new SmtpClient(); 
s.Send(mm); 

此代码失败,一个消息从Exchange“邮箱不可用服务器响应:5.7.1客户无权发送此发件人“。使用Set-DistributionGroup命令将“websmtp”用户授予“webmaster”组的SendOnBehalfOf权限。

I CAN以websmtp用户的身份通过Windows或通过我的公司OWA webmail以内部和外部用户的身份登录时代表webmaster用户发送。

在这一点上,我真的只是寻求什么问我们的Exchange管理员尝试或者如果有什么我可以尝试在我的web.config的建议。我无法真正对此进行编码,因为我生成的很多电子邮件直接来自ASP .Net会员向导。

回答

1

听起来像是一个身份验证问题。它看起来像是在设置用户名和密码,但可能它们要么不正确,要么证书没有正确传递。

+0

我接受了我的问题,关于在用户名之前添加我的公司域的部分内容。感谢您的建议,我使用Wireshark来嗅探连接,当然,使用它时出现身份验证失败。但是,如果没有它,它是成功的,这仍然让我感到困惑,为什么我可以通过网络邮件代表团队发送代码,而不是代码。感谢您花时间回答。 – Jay 2012-01-13 18:52:11