Exception при отправке писем вне домена // SMTP // C#

171
21 мая 2018, 15:20

При отправке писем с помощью данного метода, письмо отправляются только на доменные п/я. При попытке отправить на иные (Google, Mail.ru) выдаёт Exception

System.Security.Authentication.AuthenticationException: "Удаленный сертификат недействителен согласно результатам проверки подлинности." При подобных исключениях, советовали на callback сервера, передавать true (соглашаясь, что сертификат может быть не действительным). При использовании этого кода (закоменчены несколько вариантов), возвращается

System.Net.Mail.SmtpFailedRecipientsException: "Не удалось отправить всем получателям." SmtpFailedRecipientException: Почтовый ящик недоступен. Отклик сервера: 5.7.54 SMTP; Unable to relay recipient in non-accepted domain

Если этот де код использовать для отправки с mail.ru или google, исключений не возникает.

Просьба подсказать, где имеются ошибки или иные варианты решения. Заранее спасибо.

<pre>
using System;
using System.Globalization;
using System.Net;
using System.Net.Mail;
using System.Net.Security;
using System.Windows.Forms;
using Attachment = System.Net.Mail.Attachment;
using System.Threading;
using System.Security.Cryptography.X509Certificates;
namespace TestProg.DocSearchByParams.SystemMethods
{
    internal class MailSenderClass
    {
        private static void MailTo()
        {
            Thread.CurrentThread.CurrentCulture = new CultureInfo("ru-RU");
            var fromMailAddress = new MailAddress("mail@from.ru", "test");
            var adr = new string[] {"mail11@mail.ru", "mail22@gmail.com" };
            using (var smtp = new SmtpClient())
            {
                var message = new MailMessage
                {
                    From = fromMailAddress
                };
                foreach (var P in adr)
                {
                    message.To.Add(new MailAddress(P));
                }
                message.Subject = "Тема + неделя: "
                                  + DateTime.Now.AddDays(-7) + " - "
                                  + DateTime.Now;
                message.Body = "Тело";
                var attach = @"F:\VS2017\Документ от " + DateTime.Now.ToShortDateString() + ".xlsx";
                //message.Attachments.Add(new Attachment(attach));
                smtp.Host = "mail.esphere.ru";
                smtp.Port = 25;
                smtp.EnableSsl = true;
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.Timeout = 30000;
                smtp.UseDefaultCredentials = false;
                smtp.Credentials = new NetworkCredential(fromMailAddress.Address, "Password");

                /* Попытки избавиться от Exception "Сертификат не действителен" 
                 * ServicePointManager.ServerCertificateValidationCallback =
                 * delegate (object sender, X509Certificate certificate, X509Chain chain,
                 * SslPolicyErrors sslPolicyErrors)
                 *  { return true; };
                */
                /*
                 * System.Net.ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);
                 *ServicePointManager.ServerCertificateValidationCallback =
                 *    delegate (object s, X509Certificate certificate,
                 *        X509Chain chain, SslPolicyErrors sslPolicyErrors)
                 *    { return true; };
                 */
                //ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);
                smtp.Send(message);
                message.Dispose();
                smtp.Dispose();
            }
        }
      </pre>
Answer 1

@de_frag Спасибо, проблема решена, в

NetworkCredential(username, "Password")

передал domen/username как в почтовых клиентах

READ ALSO
Задержка при вызове событий OnMouse()

Задержка при вызове событий OnMouse()

Создал собственный Control для всех кнопок, чтобы все кнопки имели графический видПример кода:

129
Не работает MetroMessageBox

Не работает MetroMessageBox

У MetroMessageBox нет метода ShowMetroFrameWork установлен и подключен

186
Проблема при вычислении хэша

Проблема при вычислении хэша

Вычисляю HMAC SHA1, алгоритм следующий:

148
C# WPF дизайн для локализации

C# WPF дизайн для локализации

Как контролировать изменение дизайна при изменении длины слов? На некоторых языках слова очень длинные в переводе, как сохранить дизайн...

190