У нас есть Gmail для нашей корпоративной электронной почты.
Я хочу иметь возможность отправлять почту через smtp.gmail.com
из ASP.NET. Мне удалось сделать это очень хорошо - и все отправленные элементы отображаются в правильной папке отправленных элементов в gmail. Однако подключение к сети может занять до 2–3 секунд. smtp.gmail.com
. Иногда он даже полностью выходит из строя. Поскольку это приложение ASP.NET, мне нужно иметь возможность надежно отправлять электронную почту. Я не хочу создавать своего собственного почтового демона - я просто хочу полагаться на SMTP.
Я пробовал использовать виртуальный SMTP-сервер на IIS6, но не смог заставить его работать. Активный current session
отображается до минуты, а затем исчезает.
Мне нужно использовать что-то вроде Отправить почту к сделай это - или какое-то другое бесплатное реле SMTP, которое дает мне лучший контроль? Я даже нашел проект sourceforge под названием 'Gmail SMTP Relay'- и используемый нами размещенный сервер имеет установлен - у которого есть собственный SMTP-сервер.
Я бы предпочел что-нибудь графическое - и больше всего я бы предпочел SMTP-сервер Microsoft, потому что он у меня уже установлен.
Я боролся с этим несколько недель. Вот настройки, которые я использую на трех веб-сайтах ASP.NET, которые используют шлюз SMTP для отправки своих писем:
Адрес: smtp.gmail.com Порт: 587
1) Порт очень важен. Возможно, вам придется ввести его как smtp.gmail.com:587 на своем SMTP-сервере. Я уже много лет не прикасался к Microsoft SMTP, поэтому не могу вспомнить, как выглядит экран настройки.
2) Обязательно включите SSL для SMTP, поскольку этого требует Gmail.
3) SMTP-аутентификация должна быть установлена на Базовый.
4) Убедитесь, что вы используете реальный адрес электронной почты, а не псевдоним электронной почты для аутентификации. Это доставило мне много хлопот.
Вот как у меня это работает.
Я нашел здесь объяснение того, что мне нужно (при использовании IIS):
Я отправляю почту, используя этот код C #
var client = new SmtpClient("127.0.0.1", 587);
client.EnableSsl = false;
Примечание: связь между моим приложением C # и моим локальным SMTP-сервером не зашифрована (следовательно, EnableSsl = false), но связь между моим SMTP-сервером и GMAIL является зашифрованный (подробнее см. связанный документ).
Важный совет: Если вы используете клиент Microsoft SMTP для ретрансляции почты, убедитесь, что у вас нет доменов в списке «Виртуальный SMTP-сервер по умолчанию> Домены». в таком случае любое электронное письмо, адресованное этим доменам, попадет в C:\Inetpub\mailroot\Drop
- что, вероятно, не то, что вам нужно в данном случае. Я только что переименовал mydomain.com
к (буквально) example.com
после проблем с исходящей почтой фактически не выходит.