【发布时间】:2012-01-03 19:06:45
【问题描述】:
我有一个 ASP.NET 应用程序,指向部署在 IIS6 中的用 C# 编写的 2.0 版框架。
我正在维护应用程序,因此我不清楚它的某些部分。
应用程序必须通过外部交换服务器向 oldMailAddress 发送电子邮件消息,并且已正确完成。现在我添加了一个 newMailAddress 并且我没有更改代码中的任何其他内容。
oldMailAddress 接收通过应用程序发送的电子邮件,newMailAddress 不接收。我尝试从我的邮箱向 newMailAddress 发送电子邮件并且它工作正常。
我在 Internet 上查找了解决方案,发现大多数都是基于安装在 IIS6 中的 SMPT 服务。好吧,我没有安装这些服务,我认为没有必要,因为该应用程序正在使用 oldMailAddress。特此附上我使用的代码,希望大家帮忙。
MailMessage oMail = new MailMessage();
switch (destination)
{
case "production":
strMailAddress = "newMailAdress@domain.eu";
oMail.From = new MailAddress(strMailAddress);
oMail.To.Add(strMailAddress);
break;
case "warehouse":
strMailAddress = "oldMailAdress@domain.eu";
oMail.From = new MailAddress(strMailAddress);
oMail.To.Add(strMailAddress);
break;
}
oMail.Subject = sTitle;
oMail.IsBodyHtml = true;
oMail.Body = sHTML;
SmtpClient oSmpt = new SmtpClient("external.smpt.eu");
oSmpt.Send(oMail);
【问题讨论】:
-
您确定您的 switch 语句工作正常吗?在“生产”案例的情况下,您可以将电子邮件地址设置为 oldMailAddress 并查看您是否仍然收到电子邮件?当电子邮件来自应用程序时,Exchange 服务器可能会限制将电子邮件发送到该电子邮件地址。还是您正在使用 Exchange 进行身份验证?
-
开关工作正常,因为在“生产”情况下,我没有一个新的邮件地址,而是一个抄送。我的基础架构人员说,对于授权,一切都很好。在 IIS6 和 web.cofig 中都没有邮件设置的痕迹。有没有第三种方法来配置 SMTP 设置?
标签: asp.net email exchange-server