Отправка электронной почты через gmail SMTP на GoDaddy

Это возможно? Я могу отправить через localhost, но на Godaddy электронное письмо не отправляется. Кому-нибудь удалось этого добиться?

Я использую C#

12 ответов

Похоже, что GoDaddy блокирует порты SSL, необходимые для доступа SMTP в Gmail. Это означает, что вам не повезло на этом этапе. Вы можете просто использовать локальное реле GoDaddy:

relay-hosting.secureserver.net без учетных данных.

http://help.godaddy.com/article/955

Мне удалось отправить электронное письмо через GoDaddy, используя эти настройки в web.config:

<configuration>
    <system.net>
        <mailSettings>
            <smtp>
                <network 
                    host="smtpout.secureserver.net" 
                    userName="emailaccount@yourdomain.com" 
                    password="****" />
                <!--
                As per @Yoro's comment you might have
                luck including the port number as well
                -->
            </smtp>
        </mailSettings>
    </system.net>
</configuration>

и этот код:

var SmtpClient = new SmtpClient();
SmtpClient.Send("emailaccount@yourdomain.com", "to@whatever.com", "subject", "body");

Примечание. Я считаю, что адрес отправителя в электронном письме должен быть с вашего домена. Я попытался отправить электронное письмо с другого домена и получил сообщение об ошибке.

Вы должны убедиться, что у вас есть учетная запись электронной почты в GoDaddy, вы можете проверить, войдя в систему и перейдя в Продукты> Электронная почта> Планы электронной почты. Вы также должны убедиться, что SMTP-реле включено, оно включено по умолчанию для меня. Также важно знать, что по умолчанию моя учетная запись GoDaddy позволяет мне отправлять 250 писем в день.

Я создаю простую контактную форму, используя ASP.Net MVC 3 на GoDaddy. Я хотел иметь возможность отправлять электронные письма на аккаунты, размещенные в Службах Google. Этот вопрос соответствовал моей ситуации, но только эта справочная статья GoDaddy действительно решила мою проблему. Надеюсь, это поможет кому-то еще!

Пример кода из статьи:

    // language -- C#
// import namespace
using System.Web.Mail;

private void SendEmail()
{
   const string SERVER = "relay-hosting.secureserver.net";
   MailMessage oMail = new System.Web.Mail.MailMessage();
   oMail.From = "emailaddress@domainname";
   oMail.To = "emailaddress@domainname";
   oMail.Subject = "Test email subject";
   oMail.BodyFormat = MailFormat.Html; // enumeration
   oMail.Priority = MailPriority.High; // enumeration
   oMail.Body = "Sent at: " + DateTime.Now;
   SmtpMail.SmtpServer = SERVER;
   SmtpMail.Send(oMail);
   oMail = null; // free up resources
}

Кажется, это общая проблема.

Есть две вещи, необходимые.

  • Добавьте пользователя, который будет использоваться для аутентификации. Вы не можете отправить анонимно через GoDaddy
  • Следуйте конфигурации, указанной здесь.

Это должно заставить его работать правильно.

Для людей, которые все еще ищут ответ, попробуйте это

smtp.Host = "relay-hosting.secure.net";
smtp.EnableSsl = false;
smtp.UseDefaultCredentials = false;
smtp.Port = 25;

При использовании relay-хостинга с Godaddy объектами электронной почты ОТ адреса электронной почты ДОЛЖНЫ быть электронные письма Godaddy с белым списком.

Они делают это, чтобы спаммеры не взломали аккаунт

Есть альтернатива для использования реле-хоста

Использование почтовой программы GoDaddy (Google Serach: "_gdForm/webformmailer.asp")

Эту альтернативу можно использовать для отправки на заранее заданную учетную запись электронной почты "форма-мейлер" всех веб-форм, и она работает! но на GoDaddy требуется некоторая настройка hosting.content.form-mailer.

проверьте, как я использовал форму-почтовик:

(единственное замечание: отнимает возможность кодировать базу данных XML подписки / отписки, поскольку данные формы отправляются в этот недоступный файл ASP). Поэтому я могу в конечном итоге вернуться к использованию ретрансляции в ASP.NET.

www.earthed.net.au\News.aspx www.earthed.net.au\Contact.aspx www.earthed.net.au\Support.aspx

Моя конечная цель состояла в том, чтобы в мой почтовый ящик пришло электронное письмо от joe@blogs.com с необходимыми данными поля формы, но независимо от того, как вы настроитесь, настройки безопасности вашего хост-провайдера в конечном итоге определят вашу способность сделать это.

Также попытался использовать хосты google и hotmail smtp (так как у меня есть учетная запись с каждым) и та же секретная история ограничений, возможно, менее известного бесплатного провайдера веб-почты, который имеет более низкие настройки безопасности, разрешающие полный хостинг (если так, дайте мне знать)

В последний раз, когда я пытался это сделать (возможно, в начале 2011 года), я не смог программно отправить письмо из учетной записи Gmail на GoDaddy. Я взял код точно такой же код, который работал на сервере другой хостинговой компании, и он не работал на сервере GoDaddy, так что я совершенно уверен, что код не был проблемой.

Я позвонил в их службу технической поддержки и получил противоречивую информацию, но услышал достаточно, чтобы убедить себя, что отправка через Gmail не является наверняка поддерживаемой службой на серверах GoDaddy.

Мне также дали вариант обходного пути использования их веб-формы электронной почты, которая совершенно не подходит для проекта, над которым я работал, и подчеркнул, что GoDaddy не полностью понял, о чем они говорят.

В конце концов я обнаружил, что могу просто использовать SMTP-серверы GoDaddy и подключить свой собственный адрес "от", который позволяет мне отправлять почту на любой адрес электронной почты и подделывать исходный адрес электронной почты. Таким образом, они в конечном итоге блокируют законную функциональность электронной почты и вместо этого вынуждают вас использовать систему с высокой степенью злоупотребления.

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

После того, как я столкнулся с той же проблемой, которую вы описали в своем вопросе, я наконец нашел решение.

Проверьте файл web.config и убедитесь, что для свойства debug установлено значение false при каждой публикации вашего веб-сайта. Дайте мне знать, если это работает. Это для меня.

<configuration>
  <system.web>    
    <compilation debug="false" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <customErrors mode="Off"/>
  </system.web>      
</configuration>

Почти забыл здесь гуглит подробные инструкции. Вышеуказанный инструмент изменится автоматически 8-)

http://www.google.com/support/a/bin/answer.py?hl=en&answer=33353

Я думаю, что ваш лучший вариант - найти другого хозяина. Когда я кодировал сайт для Godaddy, я помню, как спрашивал Godaddy, отключили ли они свои функции mapi, и оказалось, что они делают немного больше, чем просто отключают его. Я слышал, что они фильтруют определенные исходящие порты.

Этот кодекс работает

// Create the msg object to be sent

MailMessage msg = new MailMessage();
// Add your email address to the recipients
msg.To.Add("mr@soundout.net");
// Configure the address we are sending the mail from
MailAddress address = new MailAddress("mr@soundout.net");
msg.From = address;
msg.Subject = txtSubject.Text;
msg.Body = txtName.Text + "n" + txtEmail.Text + "n" + txtMessage.Text;

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

// Send the msg
client.Send(msg);

Я пытаюсь что-то подобное, только что получил сброс электронной почты и зарегистрировать электронную почту, пришлось изменить $header в noreply@zzz.com соответствовать адресу сайта. Не нужно SMTP, просто требуется навсегда, чтобы получить электронную почту.... все еще в стадии разработки.

            $subject = "Please reset your password";
            $message = " Here is your password reset code {$validation_code}

             Click here to reset your password http://www.zzz.com/Login_App/code.php?email=$email&code=$validation_code
            ";

            $headers = "From: noreply@zzz.com";
Другие вопросы по тегам