Некоторые проблемы во время отправки электронных писем - PullRequest
0 голосов
/ 05 января 2012

У меня есть следующий класс:

public class Email
{
    public System.Net.Mail.SmtpClient SmtpClient
    {
        get
        {
            if (_client == null)
            {
                    _client = new System.Net.Mail.SmtpClient();
            }
            return _client;
        }
    }
}

и использую его

    static Email email = new Email();

(в методе)

                    email.SmtpClient.Send(message);

и после некоторых вызовов этого кодаЯ получаю исключение:

Услуга недоступна, закрытие канала передачи.Ответ сервера: 4.4.2 истекло время ожидания службы.

почему?

1 Ответ

1 голос
/ 06 января 2012

Эта ошибка может быть вызвана тем, что вы превысили MessageRateLimitExceeded (который ограничивает скорость отправки нескольких сообщений) или соединение разорвалось. На SMTP-серверах также есть другие параметры конфигурации, которые могут ограничивать количество и объем данных, которые вы можете отправлять за сеанс. SmtpClient также управляет подключениями в пуле, поэтому я думаю, что лучше создать нового клиента после того, как вы отправили несколько сообщений. Вы также должны утилизировать клиента, чтобы клиент отправлял на сервер сообщение QUIT.

Для получения дополнительной информации об ошибках, прочитайте эту статью MSDN .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...