如何在磁盘上写电子邮件而不是在asp.net中发送到真实地址?

apr*_*ros 5 c# asp.net email

如何在磁盘上写电子邮件(.eml文件)而不是发送到asp.net中的真实地址?提前致谢.

Dar*_*rov 12

using (var client = new SmtpClient("somehost"))
{
    client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
    client.PickupDirectoryLocation = @"C:\somedirectory";
    client.Send(message);
}
Run Code Online (Sandbox Code Playgroud)

或使用配置文件:

<configuration>
  <system.net>
    <mailSettings>
      <smtp deliveryMethod="SpecifiedPickupDirectory">
        <specifiedPickupDirectory pickupDirectoryLocation="C:\somedirectory" />
      </smtp>
    </mailSettings>
  </system.net>
</configuration>
Run Code Online (Sandbox Code Playgroud)


adr*_*nks 5

您可以配置SmtpClient将电子邮件放入已配置的目录中,而不是发送它们.为此,您需要设置DeliveryMethodto SpecifiedPickupDirectory并设置PickupDirectoryLocation:

<system.net>
    <mailSettings>
        <smtp deliveryMethod="SpecifiedPickupDirectory">
            <specifiedPickupDirectory pickupDirectoryLocation="C:\emails" />
        </smtp>
    </mailSettings>
</system.net>
Run Code Online (Sandbox Code Playgroud)

当您使用标准发送电子邮件时SmtpClient,它们现在将保存到指定的目录而不是实际发送.