ASP.NET отправлять почту через 1and1 smtp - PullRequest
0 голосов
/ 14 декабря 2018

У меня проблемы с отправкой электронной почты через 1and1 smtp

Вот мой код, который я использую в своем приложении asp.net mvc: (Когда я использовал этот код с gmail, он работает нормально, но теперь у меня естьиспользовать 1and1, и он не будет работать :(

public void Send(Inquiry inquiry)
    {
        SmtpClient smtpClient = new SmtpClient ("Smtp.1and1.com", 587);
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = new System.Net.NetworkCredential("mail@mywebsite.com", "mypassword");

        smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
        smtpClient.EnableSsl = true;
        MailMessage mail = new MailMessage();


        mail.From = new MailAddress("sales@mywebsite.com", "myname");
        mail.To.Add(new MailAddress("sales@mywebsite.com"));
        mail.Subject = $"New inquiry from {inquiry.Name}";
        mail.Body = $"{inquiry.Message}\r " +
            $"Recieved: {inquiry.Date}";
        mail.ReplyToList.Add(new MailAddress(inquiry.Email));


        smtpClient.Send(mail);
    }

Я получаю ошибку:

SmtpException: Error in processing. The server response was: Requested action aborted: local error in processing

System.Net.Mail.MailCommand.CheckResponse (SmtpStatusCode statusCode, строкаответ)

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Это мои изменения, и теперь это работает!

Mail.from и mail.to были разными адресами от адреса электронной почты, используемого для входа в систему ...

Здесь мы использовали фиксированный код:

 public void Send(Inquiry inquiry)
    {
        SmtpClient smtpClient = new SmtpClient ("smtp.1and1.com",587);
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = new System.Net.NetworkCredential("mail@mywebsite.com", "mypassword");

        smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
        smtpClient.EnableSsl = true;
        MailMessage mail = new MailMessage();

        //Setting From , To and CC
        mail.From = new MailAddress("mail@mywebsite.com", "myname");
        mail.To.Add(new MailAddress("mail@mywebsite.com"));
        mail.Subject = $"New inquiry from {inquiry.Name}";
        mail.Body = $"From: {inquiry.Name}\n" +
            $"Phone number: {inquiry.PhoneNumber} \n" +
            $"Message: {inquiry.Message}\n \n" +

            $"Recieved: {inquiry.Date}";
       mail.ReplyToList.Add(new MailAddress(inquiry.Email));


        smtpClient.Send(mail);
    }
0 голосов
/ 14 декабря 2018

со страницы ошибки 1 и 1

451 Запрошенное действие прервано: локальная ошибка в обработке:

Не удалось доставить электронное письмоуспешно, потому что служба была временно недоступна.Повторите попытку позже.

Обратите внимание : для успешной доставки электронной почты важно, среди прочего, чтобы ответственный DNS всегда быстро отвечал на разрешение DNS-запроса.оказание услуг.Если проблемы сохраняются, вам следует сообщить об этом администратору домена отправителя, чтобы он мог обеспечить быстрое разрешение имен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...