Подтвердить что ты не робот

Отправка сообщения электронной почты от Azure

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

Я не мог легко найти в Интернете, как отправить электронное письмо из учетной записи Azure. Было упоминание о SendGrid, но, похоже, мой аккаунт не поддерживает его.

Может, кто-нибудь подскажет, как отправить электронное письмо с веб-сайта, размещенного в Azure?

4b9b3361

Ответ 1

Я знаю, что это старый пост, но я только что подписался на Azure, и я получаю 25 000 писем в месяц бесплатно через SendGrid. Эти инструкции превосходны, я работал и работал в считанные минуты:

Как отправлять электронную почту с помощью SendGrid с Azure

Лазурные клиенты могут разблокировать 25 000 бесплатных писем каждый месяц.

Ответ 2

Отправка из стороннего SMTP не ограничена или специфична для Azure. Используя System.Net.Mail, создайте ваше сообщение, настройте SMTP-клиент и отправьте электронное письмо:

// create the message
var msg = new MailMessage();
msg.From = new MailAddress("[email protected]"); 
msg.To.Add(strTo); 
msg.Subject = strSubject; 
msg.IsBodyHtml = true; 
msg.Body = strMessage;

// configure the smtp server
var smtp = new SmtpClient("YourSMTPServer"); 
var = new System.Net.NetworkCredential("YourSMTPServerUserName", "YourSMTPServerPassword");

// send the message
smtp.Send(msg); 

Ответ 3

Если вы ищете альтернативы ESP, вы должны взглянуть на Mailjet для Microsoft Azure тоже! Как глобальный поставщик услуг электронной почты и инфраструктуры, они позволяют отправлять, отправлять и отслеживать транзакционные и маркетинговые сообщения электронной почты через их API, ретрансляцию SMTP или пользовательский интерфейс с единой платформы, как для разработчиков, так и для владельцев электронных писем.

Отказ от ответственности: я работаю в Mailjet в качестве евангелиста-разработчика.

Ответ 4

Для людей, желающих использовать встроенный .NET SmtpClient, а не клиентскую библиотеку SendGrid (не уверен, что это был намерение OP), я не мог заставить его работать, если я не использовал apikey как мое имя пользователя и ключ api сам по себе как пароль, обозначенный здесь.

<mailSettings>
    <smtp>
        <network host="smtp.sendgrid.net" port="587" userName="apikey" password="<your key goes here>" />
    </smtp>
</mailSettings>

Ответ 6

Я бы никогда не порекомендовал SendGrid. Я воспользовался их бесплатной учетной записью, но мне так и не удалось отправить ни одного электронного письма - все были заблокированы - я потратил несколько дней, пытаясь его решить. Когда я спросил, почему они были заблокированы, они сказали мне, что бесплатные учетные записи используют ip-адрес, и если какая-либо учетная запись использует этот ip-адрес при рассылке спама - тогда все пользователи с общим ip-адресом блокируются - совершенно бесполезно. Также, если вы используете их - не храните ваш ключ электронной почты в публичном репозитории git, так как любой может прочитать ключ оттуда (используя сканер) и использовать свою платную учетную запись для отправки массовых писем.

Бесплатная служба электронной почты, которую я надежно использую на веб-сайте Azure, - это использование моей учетной записи Gmail (Google mail). У этой учетной записи есть возможность использовать ее с приложениями - как только вы включите ее, вы сможете отправлять электронную почту с вашего веб-сайта Azure. Вставка кода отправки в качестве порта для использования (587) не очевидна.

  public static void SendMail(MailMessage Message)
    {
        SmtpClient client = new SmtpClient();
        client.Host = EnvironmentSecret.Instance.SmtpHost; // smtp.googlemail.com
        client.Port = 587;
        client.UseDefaultCredentials = false;
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        client.EnableSsl = true;
        client.Credentials = new NetworkCredential(
            EnvironmentSecret.Instance.NetworkCredentialUserName,
            EnvironmentSecret.Instance.NetworkCredentialPassword);
        client.Send(Message);
    }