System.Net.Mail и MailMessage не отправляют сообщения сразу - PullRequest
6 голосов
/ 13 сентября 2011

Когда я отправляю почту с помощью System.Net.Mail, кажется, что сообщения отправляются не сразу.Они занимают минуту или две, прежде чем попасть в мой почтовый ящик.Как только я выйду из приложения, все сообщения будут получены в течение нескольких секунд.Существует ли какая-либо настройка буфера почтовых сообщений, которая может заставить SmtpClient отправлять сообщения немедленно?

Ответы [ 2 ]

10 голосов
/ 13 сентября 2011

Попробуйте, если вы работаете в Dotnet 4.0

using (SmtpClient client = new SmtpClient(smtpServer))  
{
    MailMessage mail = new MailMessage();
    // your code here.

    client.Send(mail);
}

. Это приведет к удалению вашего экземпляра client, в результате чего он завершит свой SMTP-сеанс с элементом протокола QUIT.

Если вы застряли в более ранней версии dotnet, попробуйте организовать повторное использование одного и того же экземпляра SmtpClient для каждого сообщения, которое отправляет ваша программа.

Конечно, имейте в виду, что электронная почта по своей сути является хранилищем.и вперед система, и нет ничего синхронного (или даже формально предсказуемого) о задержках от отправки SMTP до приема.

0 голосов
/ 13 сентября 2011

Я согласен с Олли. Чтобы ответить на ваш вопрос, нет, я не верю, что есть какие-либо настройки буфера, которые вы можете установить через форму.

Что сбивает с толку в вашем вопросе, так это то, что вы говорите, что сообщению требуется минута или две, чтобы попасть в ваш почтовый ящик, но затем говорите, что при отправке себе, они проходят мгновенно ... Я полагаю, вы имели в виду, что внутренне , сообщения отправляются нормально, и проблема возникает только для внешнего адреса. В этом случае может показаться, что ваш почтовый сервер может помещать эти сообщения в очередь за другими электронными письмами, привязанными к внешним адресам (что является обычной деятельностью). Ожидание минуты или двух для электронного письма на внешнем сайте не так уж долго.

Однако это маловероятно, но настроен ли ваш сервер обмена для проверки исходящих сообщений?

...