【发布时间】:2012-03-17 04:54:20
【问题描述】:
我最近刚买了自己的带有 IIS7 的服务器,我正在尝试设置 SMTP,以便我可以从我的网站发送电子邮件。
这是我的 smtp 设置:
这是我发送电子邮件的代码:
private static void SendEmail(IEnumerable<MailAddress> to,
IEnumerable<MailAddress> bcc, MailAddress from,
string subject, string bodyHtml)
{
var mail = new MailMessage { From = from, Subject = subject,
Body = bodyHtml, IsBodyHtml = true };
foreach (var address in to)
{
mail.To.Add(address);
}
foreach (var address in bcc)
{
mail.Bcc.Add(address);
}
try
{
string server = ConfigurationManager.AppSettings["SMTPServer"];
int port = Int32.Parse(ConfigurationManager.AppSettings["SMTPPort"]);
var smtp = new SmtpClient
{
Host = server,
Port = port
};
smtp.Send(mail);
}
catch (Exception err)
{
}
}
还有我的配置设置:
<add key="SMTPServer" value="localhost" />
<add key="SMTPPort" value="25" />
我在smtp.Send(mail); 收到一条错误消息:
错误的命令序列。服务器响应是:此邮件服务器在尝试发送到非本地电子邮件地址时需要身份验证。请检查您的邮件客户端设置或联系您的管理员以验证是否为此服务器定义了域或地址。
好吧,我的 smtp 服务器没有身份验证要求,屏幕截图中的设置中这样说。
我环顾四周,如果其他人从他们的设置中指定的不同电子邮件发送电子邮件,就会遇到这个问题,但我是从info@mysite.com 发送我的。我将它发送到@gmail.com 帐户,所以它发送到非本地电子邮件地址。
我在这里做错了什么?
【问题讨论】:
-
您可以在 ServerFault.com 获得更多服务器配置帮助
-
您是否设置了 SMTP 部分? forums.iis.net/p/1157046/1901343.aspx
-
@Robert - 我以为我有!但显然 SMTP 服务没有启动。尝试启动它时出现错误,通过此链接解决:mickgenie.com/blog/…。然后我必须设置中继,通过此链接解决:codebetter.com/petervanooijen/2006/04/05/…。感谢您的帮助!