【发布时间】:2011-11-08 07:26:35
【问题描述】:
当我尝试通过 ASP MVC3 项目使用 SmtpClient 类发送电子邮件时,我的服务器上出现了奇怪的情况。这是我正在使用的代码。
try
{
var client = new SmtpClient("MailServer");
client.UseDefaultCredentials = true;
MailMessage message = new MailMessage("me@mydomain.com", "friend@mydomain.com", "Test Message", "Test Body");
client.Send(message);
}
catch (Exception ex)
{
// Do Nothing
}
我已经部署在三个环境中;在 Windows 7(使用 VS 2010 IIS)上它可以正常发送电子邮件,在 Windows 2003 IIS6 机器上它可以正常发送电子邮件,最后在 Windows 2008 R2 II7 服务器上我收到以下错误:
Mailbox unavailable. The server response was: 5.7.1 Client does not have permissions to send as this sender using username
任何人都可以就可能导致此问题的原因提出建议。我注意到当我查看User.Identity.Name 时,返回的是一个空字符串。
【问题讨论】:
-
奇怪的是你得到一个空的身份名称,尝试禁用匿名帐户并让网络应用模拟某个用户,看看它是否有效。
-
嗨,如果我用以下内容替换:client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("myAccount", "myPassword", "myDomain");电子邮件发送正常。
-
好的,但我不会把密码和用户名放在代码中,至少使用网络配置!
-
你可能想看看这个问题并回答:stackoverflow.com/questions/5028728/c-how-to-send-email
-
嗨,我看过那个问题,但我不确定它是否相关。顺便说一句,代码中的密码/用户名仅用于测试;)
标签: c# .net asp.net-mvc smtp