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