Как стать автором
Обновить

Комментарии 3

Это когда нибудь закончится?
Отдельное спасибо за фразы:
делает перекур
дальше курим одну минуту
В контексте .NET эти фразы особо режут слух…
Подход с отдельным потоком, имеет большую проблему с хранилищем. Нам необходимо внешнее хранилище, с поддержкой транзакций, правильная обработка возвращаемых ошибок (так, например, сервер может вернуть ошибку, что необходимо повторить отправку или ещё, что-то подобное).

Есть более простое решение, использовать встроенный smtp сервер в windows. Отправку осуществляем так же через SmtpClient, только в web.config необходимо написать, что-то в этом роде
<mailSettings>
      <smtp deliveryMethod="SpecifiedPickupDirectory" from="ВасяПупкин@крутойдомен.ru" >
        <network host="localhost" />
        <specifiedPickupDirectory pickupDirectoryLocation="C:\inetpub\mailroot\Pickup" />
      </smtp>
    </mailSettings>


Далее нам надо установить smtp сервер и включить его. При отправке писем, они, на самом деле, будут аккуратненько складываться в указанную папку, а сервис smtp будет их доставлять. Причем у него так же есть интересные оптимизации, например, он отправляет сразу несколько писем в одном соединении, что позволяет значительно повысить скорость отправки и т. п.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории