Как сделать так, чтобы электронная почта отправлялась в локальную папку во время тестирования?
Вопрос
Как я могу проверить отправку электронной почты из моего приложения, не загружая мой почтовый ящик? Р>
Есть ли способ сообщить IIS / ASP.NET, как доставлять электронную почту в локальную папку для проверки?
Решение
Да, есть способ.
Вы можете изменить web.config следующим образом что при отправке электронной почты это будет вместо этого будет создан как файл .EML в C: \ LocalDir р>.
<configuration>
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="c:\LocalDir"/>
</smtp>
</mailSettings>
</system.net>
</configuration>
Вы также можете создать экземпляр <кода > SmtpClient класс с теми же настройками, если вы не хотите / не можете изменить web.config. В C # это выглядит примерно так:
var smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
var emailPickupDirectory = HostingEnvironment.MapPath("~/EmailPickup");
if (!Directory.Exists(emailPickupDirectory)) {
Directory.CreateDirectory(emailPickupDirectory)
}
smtpClient.PickupDirectoryLocation = emailPickupDirectory;
Другие советы
Настроить правила в своем почтовом клиенте для перемещения сообщений на основе адреса электронной почты субъекта / отправителя?
Не связан с StackOverflow