2013-07-16 4 views
34

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

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

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

Заранее благодарен.

+0

SendGrid - это сторонний сервис, предоставляющий услуги SMTP. – Kane

+0

Да, я понял, но можно ли работать с Azure – user1144596

+2

Или интегрировать с MailChimp или Mandrill (для них есть пакет NuGet). – Knelis

ответ

7

Отправка с стороннего 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); 
+1

правильно, значит, мне нужно иметь поставщика услуг SMTP? Azure не имеет в этом ничего встроенного? Будет ли подход третьей части работать для получения электронной почты? – user1144596

+2

Правильно - Azure не поддерживает SMTP. Вы должны использовать 3 участника для отправки. Получение зависит от вас. Вы можете получать электронные письма в любой доменной службе электронной почты, которую вы настроили - снова Azure не участвует. У вас должна быть настройка записей DNS MX, чтобы обрабатывать получение электронной почты, тщательно проводя поставщика, такого как GMail. – viperguynaz

+0

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

36

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

How to Send Email Using SendGrid with Azure

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

+0

И при настройке причины этой ошибки «он выставлен на счет выставления счетов не соответствует рынку в учетной записи пользователя», вот как его решить. Https://social.msdn.microsoft.com/Forums/azure/en -US/b7e65da4-76c5-46e5-bb2e-e40b16e882ea/косяк-подписываться-к-планировщик-аддон-должное к ан-ошибкам на рынке-на-биллинг-счет-делает-не?forum = DataMarket –

+5

Я не могу рекомендовать SendGrid. Настройка учетной записи заняла несколько дней. SendGrid не будет проверять наши записи DNS. Поддержка показывает это только после повторных запросов и рекомендуется отключить функции по умолчанию для нашей учетной записи, чтобы обойти эту проблему. Та же история спустя 3 месяца, когда нам пришлось перейти на отдельный аккаунт из-за ненадежной интеграции с Azure Кроме того, API .net запутан и не имеет прозрачности во многих отношениях. Наконец, сегодня на 3-й день ВСЕ наши письма откладываются из-за «изменений в нашей инфраструктуре, которые МОГУТ ДЕЛАТЬ НЕКОТОРЫЕ из ваших писем». Мы полностью в грязи! – BernardV

+2

@ BernardV, я должен согласиться, что создание учетной записи от «Azure» для меня не было приятным опытом. Тем не менее, я использовал «SendGrid API» вместе с «Azure Scheduler Job», и он отлично работал для меня. – Gabrielius

4

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

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

1

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

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

Я не могу это подтвердить. Я использовал STMP из Python, а имя пользователя в разделе «Конфигурации»> «Имя пользователя» работало хорошо. – mrts

+0

Порт SSL - 465. – arni

Смежные вопросы