如何在没有凭据的.net Core中本地发送电子邮件

我想在使用.net core 3和C#的Web应用程序中测试发送电子邮件。

问题是我所在的公司网络阻止了端口587(目前)。

我看到了一篇文章,说你可以使用

mailClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;

但是我托管的是未为IIS配置的.net核心,因此出现错误“不支持IIS传递”。

IIS是否是在本地测试发送电子邮件的唯一方法?

snow6298 回答:如何在没有凭据的.net Core中本地发送电子邮件

您可以指定选项SmtpDeliveryMethod.SpecifiedPickupDirectory 邮件将从属性SmtpClient.PickupDirectoryLocation

中指定的目录中提取

您可以看到以下参考页:

例如:

var client = new SmtpClient {
  DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory,PickupDirectoryLocation = @"c:\myMailFolder"
};
,

您可以将Moq(假)SMTP服务器作为应用程序的一部分运行。电子邮件不会传递给收件人,而是存储在内存中,以便可以检查。

我是.NET Core的SmtpMoq.NET的作者,正是这样做的。请检查herehere以了解如何使用它的详细信息。

其他好处是,您可以自动化集成测试并验证电子邮件是否正确发送。

希望这会有所帮助。

本文链接:https://www.f2er.com/3072356.html

大家都在问