我有一个窗口服务(Asp.net c#)发送电子邮件(使用SMTP)给用户一段时间后。它的工作很好从一段时间,但当它遇到电子邮件"@gmail.com"它打破了以下错误:
window service this mail server requires authentication when attempting
to send to a non-local e-mail address.
Please check your mail server client settings or contact your
administrator to verify that the domain or address is defined for this server.
但凭据相同&代码,它发送电子邮件(到相同的电子邮件地址),当它被触发的网站托管在IIS上的同一服务器(系统)。
我在网上搜索,但无法理解为什么它从Asp.net网站代码发送电子邮件,而不是从。net Windows服务代码(虽然这个问题不会发生时发送电子邮件到同一域ie。
有什么想法或建议吗?
谢谢
在我的例子中,罪魁祸首是下面这行代码:
smtp。
请参阅下面的代码(在注释之后,电子邮件发送无误):
using (mmMessage)
{
mmMessage.Subject = strSubject;
mmMessage.Body = strBody;
mmMessage.IsBodyHtml = blnIsBodyHTML;
mmMessage.Headers.Add("Reply-To", FromEmailAddress);
SmtpClient smtp = new SmtpClient();
using (smtp)
{
smtp.Host = SMTPServer;
smtp.Credentials = new System.Net.NetworkCredential(SMTPUser, SMTPPwd);
smtp.Port = Port;
//smtp.UseDefaultCredentials = false;
smtp.EnableSsl = IsEnableSsl;
smtp.Send(mmMessage);
}
}