Оптимальный способ отправить почту с SmtpClient?

Если вы знаете ширину пролета, вы можете просто вставить левое поле.

Попробуйте:

.center {text-align: center}
div.center span {display: table; }

Добавьте «center: class к вашему».

Если вы хотите, чтобы некоторые промежутки центрировались, но не другие, замените «div.center span» в вашей таблице стилей на класс (например, "center-span") и добавьте этот класс в span.

5
задан Allrameest 9 June 2009 в 06:42
поделиться

1 ответ

Он отправляет только одно сообщение MailMessage из соединения. Фактически, он даже не закрывает соединение должным образом. Он отправляет почту, но не сообщает почтовому серверу, что хочет выйти. Таким образом, он просто оставляет его открытым до тех пор, пока базовый поток из пула не решит закрыть сокет.

Вот внутренний код из Reflector:

...
        this.GetConnection();
        fileMailWriter = this.transport.SendMail((message.Sender != null) ? message.Sender : message.From, recipients, message.BuildDeliveryStatusNotificationString(), out exception);
        }
        catch (Exception exception2)
        {
            if (Logging.On)
            {
                Logging.Exception(Logging.Web, this, "Send", exception2);
            }
            if ((exception2 is SmtpFailedRecipientException) && !((SmtpFailedRecipientException) exception2).fatal)
            {
                throw;
            }
            this.Abort();
            if (this.timedOut)
            {
                throw new SmtpException(SR.GetString("net_timeout"));
            }
            if (((exception2 is SecurityException) || (exception2 is AuthenticationException)) || (exception2 is SmtpException))
            {
                throw;
            }
            throw new SmtpException(SR.GetString("SmtpSendMailFailure"), exception2);
        }

кстати, вот дополнительная информация о SmtpClient, не выдающем команду QUIT. https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=146711&wa=wsignin1.0

Изменить: просмотреть мертвую ссылку выше на web.archive.org

Чтобы решить эту проблему, установите для SmtpClient.ServicePoint.MaxTimeout значение 1. Это ускорит закрытие сокета, однако на самом деле это не вызывает команду QUIT.

7
ответ дан 14 December 2019 в 08:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: