如何在没有凭据的情况下在 .net Core 中本地发送电子邮件
How to send email locally in .net core without credentials
我想测试在我的 Web 应用程序中发送电子邮件,该应用程序使用 .net core 3 和 C#。
问题是我在阻止端口 587(目前)的公司网络上。
我看到一篇文章说你可以使用这个
mailClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
但我使用的是未针对 IIS 配置的 .net 核心主机,所以我收到错误 "IIS delivery is not supported"。
IIS 是测试本地发送电子邮件的唯一方法吗?
您可以指定选项SmtpDeliveryMethod.SpecifiedPickupDirectory
将从 属性 SmtpClient.PickupDirectoryLocation
中指定的目录中提取邮件
您可以查看以下内容的参考页:
例如:
var client = new SmtpClient {
DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory,
PickupDirectoryLocation = @"c:\myMailFolder"
};
您可以 运行 最小起订量(假)SMTP 服务器作为您应用程序的一部分。电子邮件不会发送给收件人,而是存储在内存中以便于检查。
我是 SmtpMoq.NET for .NET Core that does exactly that. Please check here and here 的作者,详细了解如何使用它。
额外的好处是您可以自动化集成测试并验证电子邮件是否正确发送。
希望对您有所帮助。
我想测试在我的 Web 应用程序中发送电子邮件,该应用程序使用 .net core 3 和 C#。
问题是我在阻止端口 587(目前)的公司网络上。
我看到一篇文章说你可以使用这个
mailClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
但我使用的是未针对 IIS 配置的 .net 核心主机,所以我收到错误 "IIS delivery is not supported"。
IIS 是测试本地发送电子邮件的唯一方法吗?
您可以指定选项SmtpDeliveryMethod.SpecifiedPickupDirectory
将从 属性 SmtpClient.PickupDirectoryLocation
您可以查看以下内容的参考页:
例如:
var client = new SmtpClient {
DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory,
PickupDirectoryLocation = @"c:\myMailFolder"
};
您可以 运行 最小起订量(假)SMTP 服务器作为您应用程序的一部分。电子邮件不会发送给收件人,而是存储在内存中以便于检查。
我是 SmtpMoq.NET for .NET Core that does exactly that. Please check here and here 的作者,详细了解如何使用它。
额外的好处是您可以自动化集成测试并验证电子邮件是否正确发送。
希望对您有所帮助。