В Индусском Windows Azure есть много проблем. И одна из первых, с которой вы столкнетесь - невозможность отправить простое письмо во вне. Да это логичное ограничение настройками безопасности фаервола на всех системах, но так как это не одна машина, а облако - у вас нет возможности ее обойти. Даже через поиск
находятся дурацкие решения, в которых предлагается либо 1) купить сторонний релай во вне и отправлять почту через него 2) стать подписчиком Exchange сервисов микрософта.
Но на самом деле, есть возможность отправки почты через Гугл, работающий через SSL и на неблокированном 587 порту. То есть делаем,
Copy Source | Copy HTML- var client = new SmtpClient(props["SmtpServer"])
- {
- DeliveryMethod = SmtpDeliveryMethod.Network,
- Credentials = new NetworkCredential(props["SmtpLogin"], props["SmtpPwd"]),
- Port = int.Parse(props["SmtpPort"]),
- EnableSsl = true,
- };
-
- what = what + @"
С Уважением, Почтовая служба " + props["HostAddress"];
-
- try
- {
- #if !DEBUG
- client.Send(props["SmtpLogin"],
- to,
- "Subj",
- string.Format(what, pars));
- #endif
- }
- catch (SmtpFailedRecipientsException)
- {
-
- }
и соответственно настройки
Copy Source | Copy HTML- <add key="SmtpServer" value="smtp.gmail.com" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
- <add key="SmtpLogin" value="mail@gmail.com" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
- <add key="SmtpPwd" value="password" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
- <add key="SmtpPort" value="587" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
Также, на всякий случай, добавляем в настройки разрешение на выполнение native кода -
PS: С июля этого года Azure вроде объявило о бесплатности всего входящего трафика.