[英]Permission error when sending e-mail using my SMTP server in IIS7
我最近刚用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.Send(mail);
说的是:
命令顺序错误。 服务器响应为:尝试发送到非本地电子邮件地址时,此邮件服务器需要身份验证。 请检查您的邮件客户端设置,或与管理员联系以验证是否为此服务器定义了域或地址。
好吧,我的smtp服务器上没有身份验证要求,它在屏幕快照中的设置中是这样说的。
我环顾四周,如果其他人从设置中指定的其他电子邮件中发送电子邮件,则出现了此问题,但是我从info@mysite.com
发送我的info@mysite.com
。 我将其发送到@gmail.com
帐户,因此它正在发送到非本地电子邮件地址。
我在这里做错了什么?
我想发送时遇到了2个以上的人。
我只是发送给2个人。 我的问题解决了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.