служба Windows этот почтовый сервер требует проверки подлинности при попытке отправить на нелокальный адрес электронной почты

У меня есть служба Window (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 (хотя эта проблема не возникает при отправке en\mails в тот же домен, т.е. abc.com который используется в качестве SMTP-сервера).

Любые идеи, что мне здесь не хватает, или предложения.

Спасибо


person user1400290    schedule 19.05.2015    source источник


Ответы (1)


Ну, в моем случае виновником была следующая строка кода:

smtp.UseDefaultCredentials = false;

см. код ниже (после его комментирования письма отправляются без ошибок):

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);
            }
        }
person user1400290    schedule 19.05.2015