在ASP .Net中将外部电子邮件作为通讯组发送

时间:2012-01-13 18:18:47

标签: email exchange-server smtpclient

首先关闭,不确定这个问题应该是在serverfault还是stackoverflow上,对不起,如果它在错误的位置。

我在从ASP .Net应用程序向外部电子邮件发送电子邮件时遇到问题,其中“发件人”地址是分发组。我会尝试将所有内容都列出来:

电子邮件服务器:Exchange 2010

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

我正在尝试从webmaster@company.com发送邮件。这是一个分发(可能实际上是一个安全组?)。我想这样做,所以我的电子邮件的回复将转到该组。没有人会监视websmtp用户的邮箱。

这是web.config smtp部分

<system.net>
    <mailSettings>
        <smtp from="webmaster@company.com">
            <network host="XXX.XXX.XXX.XXX" userName="websmtp" password="thepassword" />
        </smtp>
    </mailSettings>
</system.net>

示例电子邮件代码:

MailMessage mm = new MailMessage();
mm.To.Add("myemail@gmail.com");
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权限。

CAN 代表网站管理员用户以websmtp用户身份通过​​Windows或我公司的OWA网络邮件向内部和外部用户登录。

此时我真的只是在寻找有关要求我们的Exchange管理员尝试的建议,或者我还可以在web.config中尝试其他任何建议。我无法真正编写代码,因为我生成的很多电子邮件直接来自ASP .Net会员向导。

1 个答案:

答案 0 :(得分:1)

听起来像是一个身份验证问题。看起来您正在设置用户名和密码,但可能它们不正确或凭据未正确传递。