我想在使用.net core 3和C#的Web应用程序中测试发送电子邮件。
问题是我所在的公司网络阻止了端口587(目前)。
我看到了一篇文章,说你可以使用
mailClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
但是我托管的是未为IIS配置的.net核心,因此出现错误“不支持IIS传递”。
IIS是否是在本地测试发送电子邮件的唯一方法?
我想在使用.net core 3和C#的Web应用程序中测试发送电子邮件。
问题是我所在的公司网络阻止了端口587(目前)。
我看到了一篇文章,说你可以使用
mailClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
但是我托管的是未为IIS配置的.net核心,因此出现错误“不支持IIS传递”。
IIS是否是在本地测试发送电子邮件的唯一方法?
您可以指定选项SmtpDeliveryMethod.SpecifiedPickupDirectory
邮件将从属性SmtpClient.PickupDirectoryLocation
您可以看到以下参考页:
例如:
var client = new SmtpClient {
DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory,PickupDirectoryLocation = @"c:\myMailFolder"
};
,
您可以将Moq(假)SMTP服务器作为应用程序的一部分运行。电子邮件不会传递给收件人,而是存储在内存中,以便可以检查。
我是.NET Core的SmtpMoq.NET的作者,正是这样做的。请检查here和here以了解如何使用它的详细信息。
其他好处是,您可以自动化集成测试并验证电子邮件是否正确发送。
希望这会有所帮助。