Отправка электронного письма через учетную запись Google Apps работает локально, но не на моем веб-сервере

Вы можете использовать

    ${var == null}

в качестве альтернативы.

8
задан Community 23 May 2017 в 11:55
поделиться

6 ответов

Ваши настройки верны . Мы постоянно используем Gmail для отправки почты в наших веб-приложениях. Ваш сервер, вероятно, блокирует исходящий трафик через порт 587. Я хотел бы связаться с вашим хостом и посмотреть, могут ли они помочь, иначе вам понадобится новая почта или новый хост.

2
ответ дан 6 December 2019 в 01:40
поделиться

Спасибо всем за помощь на этом сайте, а также на форуме приложений Google (хотя этот мне нравится больше) Я наконец собрал все кусочки пазла. По какой-то причине порт 465 и порт 587 не работают. Вот что у меня сработало:

Web.config:

  <smtp from="pwretrieve@mydomain.com">
    <network host="smtp.gmail.com" password="[password]" port="25" 
      userName="pwretrieve@mydomain.com"/>
  </smtp>

из файла aspx.cs:

SmtpClient mSmtpClient = new SmtpClient();
mSmtpClient.EnableSsl = true;

Еще раз спасибо!

1
ответ дан 6 December 2019 в 01:40
поделиться

Если ваш веб-хост не позволяет вам отправлять исходящую почту SMTP со своих серверов, это может вызвать эту проблему. Например, GoDaddy позволяет отправлять исходящую почту только через smtpout.secureserver.net с вашего сервера, поэтому любая попытка отправить почту через другой хост (в данном случае smtp.gmail.com) потерпит неудачу. Если ваш интернет-провайдер не блокирует исходящий SMTP (например, Qwest этого не делает), то это будет работать локально.

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

Вы правы, что запись MX в вашем домене влияет только на входящую почту. Когда кто-то пытается отправить письмо на адрес you@yourdomain.com, они передают его на SMTP-сервер (скорее всего, тот, который им предоставляет их провайдер), а затем SMTP-сервер просматривает вашу запись MX, чтобы узнать, кто обрабатывает вашу электронную почту. Он разрешится на smtp.gmail.com, так что он будет получать вашу почту, а вы получите ее от них. Когда вы отправляете исходящую почту, она может пройти через кого угодно, поскольку вас интересует только запись MX для целевого домена (куда в конечном итоге попадет почта).

Имеет ли это смысл? Если вам нужны пояснения, я могу найти несколько руководств и других объяснений, которые помогут разобраться в этом.

-1
ответ дан 6 December 2019 в 01:40
поделиться

Возможно, клиент smtp не может получить доступ к серверу smtp (может быть отключен веб-хостом).

Спросите у веб-хоста, есть ли у них конкретный сервер smtp, вам следует использовать для отправки электронной почты.

-1
ответ дан 6 December 2019 в 01:40
поделиться

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

0
ответ дан 6 December 2019 в 01:40
поделиться

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

1
ответ дан 6 December 2019 в 01:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: