SMTP-аутентификация с .NET не проходит - PullRequest
2 голосов
/ 20 июля 2011

Здравствуйте, у меня возникли некоторые проблемы с отправкой писем через мой сайт.

Я получаю сообщение об ошибке

SMTP-серверу требуется безопасное соединение или клиент не прошел проверку подлинности.Ответ сервера: SMTP-аутентификация требуется.

Мой Web.config имеет

<system.net>
    <mailSettings>
        <smtp from="XXXX@XXXXX.XX">
            <network host="mail.XXXXX.XX" port="25" userName="XXXX@XXXXX.XX" password="XXXXXXXX" defaultCredentials="true" />
        </smtp>
    </mailSettings>
</system.net>

И мой код

            MailMessage message = new MailMessage();
            message.From = new MailAddress("XXXX@XXXXX.XX");
            message.To.Add(new MailAddress(split[0]));
            message.Subject = split[1];
            message.Body = ContactUsBody(model);
            message.IsBodyHtml = true;

            SmtpClient client = new SmtpClient();
            client.Send(message);

Выдает ошибку наclient.Send (сообщение), я думаю, что по какой-то причине он не будет использовать пароль и имя пользователя из конфигурации.Я попытался войти в учетную запись электронной почты через Thunderbird и не имеет проблем с отправкой или получением почты там.Что я здесь не так делаю?

1 Ответ

4 голосов
/ 20 июля 2011

Он не использует предоставленные вами учетные данные, поскольку вы установили его для использования учетных данных по умолчанию.

Попробуйте это:

<system.net>
    <mailSettings>
        <smtp from="XXXX@XXXXX.XX" deliveryMethod="network">
            <network host="mail.XXXXX.XX" port="25" userName="XXXX@XXXXX.XX" password="XXXXXXXX" defaultCredentials="false" />
        </smtp>
    </mailSettings>
</system.net>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...