Arhn - архитектура программирования

Не удается отправить электронную почту в ASP.NET через серверы Godaddy

У меня есть приложение ASP.NET, размещенное на Godaddy, из которого я хочу отправлять электронную почту. Когда он запускается, я получаю: Имя почтового ящика не разрешено. Ответ сервера был: извините, ретрансляция запрещена из вашего местоположения. Важные части кода и Web.config приведены ниже:

msg = new MailMessage("[email protected]", email);
        msg.Subject = "GreekTools Registration";
        msg.Body =
            "You have been invited by your organization to register for the GreekTools recruitment application.<br/><br/>" +
            url + "<br/><br/>" +
            "Sincerely,<br/>" +
            "The GreekTools Team";

        msg.IsBodyHtml = true;

        client = new SmtpClient();
        client.Host = "relay-hosting.secureserver.net";

        client.Send(msg);

<system.net>
<mailSettings>
  <smtp from="[email protected]">
    <network host="relay-hosting.secureserver.net" port="25" userName="********" password="*********" />
  </smtp>
</mailSettings>


Ответы:


1

1- Если ваш сайт размещен на godaddy, вы можете использовать «relay-hosting.secureserver.net» без учетных данных.

2- Если ваш сайт размещен за пределами godaddy, вы можете использовать «smtpout.secureserver.net» с учетными данными вашей учетной записи электронной почты.

PS: Пожалуйста, измените порт 3535, если у вас проблемы с 25

Хостинг на GoDaddy

    <system.net>
      <mailSettings>
       <smtp from="[email protected]">
        <network host="relay-hosting.secureserver.net"/>
       </smtp>
      </mailSettings>
    </system.net>

Внешний

  <system.net>
    <mailSettings>
      <smtp from="[email protected]">
        <network host="smtpout.secureserver.net" 
           userName="[email protected]" password="your_password_here" 
           port="25" />
      </smtp>
    </mailSettings>
  </system.net>
04.01.2011
  • У меня были проблемы при использовании relay-hosting.secureserver.net в качестве smtpClient.Host. Иногда отправка занимала много времени, а иногда вообще отправляла исключение: имя почтового ящика не разрешено. Ответ сервера был: извините, ретрансляция запрещена из вашего местоположения. Изменение моего хоста на smptout.secureserver.net решило эту проблему и позволяет отправлять почту за считанные секунды. Спасибо большое :D +1 04.01.2013
  • godaddy внес некоторые изменения в свою инфраструктуру электронной почты. Вы можете создать свою учетную запись электронной почты в разных центрах обработки данных. так что вы можете выбрать серверы Америки, Европы или Азии. По этой причине вам необходимо использовать smtp-сервер для вашего региона. как smtpout.europe.secureserver.net 19.06.2013
  • Моя проблема была с портом 25. Большое спасибо за предложение порта 3535. Сработало как шарм! 01.08.2016

  • 2

    Вот мой класс электронной почты:

    public class Email
    {
        public enum MailAddressType
        {
            From = 1,
            Bcc
        }
    
        private static MailAddress _from = null;
    
        public static void SendEmail(string to, string subject, string body)
        {
            SendEmail(to, subject, body, From, string.Empty);
        }
    
        public static void SendEmail(string to, string subject, string body, string from)
        {
            SendEmail(to, subject, body, from, MailAddressType.From);
        }
    
        public static void SendEmail(string to, string subject, string body, string addresses, MailAddressType addressType)
        {
            MailAddress from = From;
            string bcc = string.Empty;
    
            if (MailAddressType.From == addressType)
            {
                from = new MailAddress(addresses);
            }
            else
            {
                bcc = addresses;
            }
    
            SendEmail(to, subject, body, from, bcc);
        }
    
        private static void SendEmail(string to, string subject, string body, MailAddress from, string bcc)
        {
            MailMessage message = new MailMessage();
            message.From = From;
            message.To.Add(to);
            if (!string.IsNullOrEmpty(bcc))
            {
                message.Bcc.Add(bcc);
            }
            message.ReplyTo = from;
            message.Subject = subject;
            message.Body = HttpContext.Current.Server.HtmlEncode(body);
            SmtpClient smtp = new SmtpClient();
            smtp.Send(message);
        }
    
        public static MailAddress From
        {
            get
            {
                if (null == _from)
                {
                    SmtpSection section = (SmtpSection)ConfigurationManager.GetSection("system.net/mailSettings/smtp");
                    string address = section.From;
                    string displayName = ConfigurationManager.AppSettings["fromEmailDisplayName"];
                    _from = new MailAddress(address, displayName);
                }
                return _from;
            }
        }
    }
    

    И вот соответствующие настройки web.config:

    <appSettings>
        <add key="fromEmailDisplayName" value="Firstname Lastname"/>
    </appSettings>
    
    <system.net>
        <mailSettings>
            <smtp deliveryMethod="Network" from="[email protected]">
                <network host="relay-hosting.secureserver.net" />
            </smtp>
        </mailSettings>
    </system.net>
    

    Для меня ключ был "message.From=From" и "message.ReplyTo=from". Кажется, GoDaddy хочет, чтобы сообщение пришло с адреса в вашем домене. Поэтому для страниц контактов используйте адрес электронной почты по умолчанию в качестве отправителя и установите отправителя в качестве ReplyTo. После этого электронная почта проходит нормально.

    21.03.2010

    3

    Вероятно, это ответ от SMTP-сервера, потому что машина, пытающаяся отправить электронную почту, не была внесена в белый список (или занесена в черный список для спама). Является ли relay-hosting.secureserver.net сервером GoDaddy или находится в другой сети? Возможно, вы захотите найти сервер GoDaddy, который позволяет ретранслировать электронную почту. Я бы предположил, что многие провайдеры виртуального хостинга сегодня имеют ограничения.

    Я хотел бы выяснить, какой тип SMTP-сервера вы используете и какие меры защиты от спама принимаются. Администратор может добавить сервер GoDaddy в белый список разрешенных хостов. Вы должны быть очень осторожны и убедиться, что ваше приложение не может быть использовано в качестве прокси для спамера. Обязательно проверяйте все входные данные, чтобы обеспечить их безопасность.

    01.09.2009
  • relay-hosting.secureserver.net — это smtp-сервер ретрансляции GoDaddy. 01.09.2009

  • 4

    Проверьте свое имя хоста. Вы уверены, что ваша учетная запись не настроена на использование mail.greektools.net? Это формат по умолчанию для веб-хостинга GoDaddy..

    01.09.2009
  • Я попытался изменить его на mail.greektools.net, и у меня возникла общая ошибка при отправке исключения (или что-то в этом роде). 01.09.2009

  • 5

    задавать

    defaultCredentials="false"
    

    в вашем сетевом элементе

         <network host="relay-hosting.secureserver.net" port="25" userName="********" password="*********" defaultCredentials="false" />
    
    01.09.2009

    6

    Какой сервер электронной почты или ретрансляции следует использовать в коде ASP.NET 3.5?

    Вам не нужно указывать имя пользователя и пароль для этого сервера ретрансляции.

    21.03.2010

    7

    Просто для теста. Удалите значения имени пользователя и пароля из web.config.

    Затем в вашем наборе кодов

    //call this line, before you call .Send
    client.Credentials = CredentialCache.DefaultNetworkCredentials; 
    client.Send(msg)
    
    01.09.2009

    8

    Я только что спросил GoDaddy, как настроить почтовую программу SMTP, и они сказали мне, что мне нужно использовать сервер ретрансляции без имени пользователя, пароля и порта. Используемое имя сервера было тем же именем, которое вы использовали.

    03.11.2009

    9

    Для тех, кто хочет знать, каким должен быть код С# в дополнение к принятому ответу, у меня работал приведенный ниже код. Обратите внимание, что адрес «от» уже упоминается в web.config в принятом ответе, поэтому нет необходимости упоминать его в коде С#.

        public static void SendMail(string emailid, string subject, string body)
        {
            System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
    
            System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
    
            msg.To.Add(new MailAddress(emailid));
    
            msg.Subject = subject;
            msg.IsBodyHtml = true;
            msg.Body = body;
    
            client.Send(msg);
        }
    
    26.08.2017

    10

    Попробуйте код ниже:

    smtp.Host = "relay-hosting.secureserver.net";
    smtp.Port = 25;
    smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "*******");
    

    Это сработало для меня.

    13.09.2018
  • Может быть, дать объяснение, как этот код отвечает на вопрос? 13.09.2018

  • 11

    Код, работающий для меня, для отправки электронной почты Go Daddy из кода С#

    var smtp = new SmtpClient
    {
      Host = "smtpout.secureserver.net",
      Port = 25,
      UseDefaultCredentials = false,
      Credentials = new NetworkCredential("domain.xyz.com", "password...")
    };
    using (var message = new MailMessage("domain.xyz.com", "domain.xyz.com")
     {
        IsBodyHtml = false,
        Subject = modal.Subject,
        Body = modal.Body
     })
      {
       smtp.Send(message);
      }
    
    17.08.2020
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..