C # - не могу отправлять почту в Windows Azure через Gmail SMTP - PullRequest
14 голосов
/ 26 сентября 2011

Это мой Web.config:

<system.net>
    <mailSettings>
        <smtp deliveryMethod="Network">
            <network defaultCredentials="true" enableSsl="true" host="smtp.gmail.com" port="25" userName="xxxxxxx@gmail.com" password="xxxxxxxxxxx"/>
        </smtp>
    </mailSettings>
</system.net>

Мой метод:

public static void EmailVerification(string email, string nickname)
    {
        MailAddress from = new MailAddress("xxxxxxxxxxx", "xxxxxxxxxxxx");
        MailAddress to = new MailAddress(email);

        MailMessage message = new MailMessage(from, to);

        message.Subject = "Test";
        message.Body = "Test";
        SmtpClient client = new SmtpClient();

        try
        {
            client.Send(message);
        }
        catch(SmtpFailedRecipientException ex)
        {
            HttpContext.Current.Response.Write(ex.Message);
            return;
        }
    }

Мой сбой SmtpException:

Failure sending mail.

InnerException:

Unable to connect to the remote server

Я тестирую это локально, но я думаю, это должно работать.Я должен запустить его на Windows Azure, я пытался, и это тоже не сработало.Я что-то упускаю?

1 Ответ

8 голосов
/ 26 сентября 2011

Базовые параметры аутентификации и сетевые учетные данные по умолчанию являются взаимоисключающими;если для defaultCredentials задано значение true и указаны имя пользователя и пароль, используются сетевые учетные данные по умолчанию, а основные данные аутентификации игнорируются.

Использовать

<system.net>
    <mailSettings>
        <smtp deliveryMethod="Network">
            <network enableSsl="true" host="smtp.gmail.com" port="25" userName="xxxxxxx@gmail.com" password="xxxxxxxxxxx"/>
        </smtp>
    </mailSettings>
</system.net>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...