![](/img/trans.png)
[英]windows service this mail server requires authentication when attempting to send to a non-local e-mail address
[英]smtpclient windows server 2008, This mail server requires authentication (1) when attempting to send via this SMTP (submission) port
当我想用c#发送电子邮件时,smtpclient:“此邮件服务器在尝试通过此SMTP(提交)端口发送时需要身份验证(1)”在Windows Server 2008 r2服务器上收到错误。 但是当我在自己的计算机上试用它时,我没有任何问题(Windows 10)。 我试图关闭防火墙,但没有解决方案。 Windows日志中没有错误。 此服务器还安装了sharepoint 2010.要通过Share point发送邮件,smtp服务器服务正在运行。 这两个重叠吗? 我在哪里可以查看?
public bool SendMail(){
MailAddress SenderMailAddress = new MailAddress(GonderenEPosta, GonderenAdi == "" ? "" : GonderenAdi);
MailAddressCollection RecipientMailAdresses = ParseRecipients(Alicilar);
if (RecipientMailAdresses.Count==0)
{
Sonuc = "Mail Adresi Geçersiz";
hataKod = 1;
return false;
}
SmtpClient MailClient = new SmtpClient();
MailClient.Host = Server;
MailClient.DeliveryMethod = SmtpDeliveryMethod.Network;
MailClient.EnableSsl = SSL;
if (Port==0)
{
Port = 587;
}
MailClient.Port = Port;
NetworkCredential auth = new NetworkCredential();
if (Parola != "")
{
//auth = new NetworkCredential(GonderenEPosta, Parola);
MailClient.Credentials = new NetworkCredential(GonderenEPosta, Parola);
MailClient.UseDefaultCredentials = false;
}
else
{
MailClient.UseDefaultCredentials = true;
}
MailMessage Email = new MailMessage();
Email.IsBodyHtml = HTML;
Email.Subject = Konu;
Email.From = SenderMailAddress;
Email.Body = EPosta;
if (TeslimIste)
{
Email.DeliveryNotificationOptions =
DeliveryNotificationOptions.OnSuccess| DeliveryNotificationOptions.OnFailure | DeliveryNotificationOptions.Delay;
Email.Headers.Add("Disposition-Notification-To", GonderenEPosta);
}
if (OkunduIste)
{
Email.Headers.Add("Return-Receipt-To", GonderenEPosta);
Email.Headers.Add("Read-Receipt-To", GonderenEPosta);
}
if (!String.IsNullOrEmpty(UniqueID))
{
Email.Headers.Add("X-Yeniyol-ID", UniqueID);
}
foreach (MailAddress r in RecipientMailAdresses)
{
if (Gizli==true)
{
Email.Bcc.Add(r);
}
else
{
Email.To.Add(r);
}
}
for (int i = 0; i < EkDosyalar.Count; i++)
{
Email.Attachments.Add(new Attachment(EkDosyalar[i]));
}
bool resp = false;
try
{
ServicePointManager.ServerCertificateValidationCallback =
delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true;
};
MailClient.Send(Email);
Sonuc = "Gönderildi";
resp = true;
}
catch (Exception ex)
{
string msj = ex.Message;
if (ex.InnerException != null)
{
msj += ", İç hata:" + ex.InnerException.Message;
}
Sonuc = "Gönderilemedi : \n" + msj;
hataKod = 2;
}
MailClient = null;
return resp;
}
好的,我发现了问题。 我们3天前更新了邮件服务器。 mail.XXXXX.com地址没有改变,但IP地址已经改变。 因此,应该在邮件发送服务器上进行DNS地址交换。 我已经从DNS服务菜单修复了mail.XXXX.com上显示的IP地址,问题得以解决。
:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.