gpt4 book ai didi

c# - ASP.NET 电子邮件模式

转载 作者:行者123 更新时间:2023-11-30 22:44:22 24 4
gpt4 key购买 nike

ASP.NET Webforms 应用程序。

问题:如何优雅地实现电子邮件发送?

应用程序的许多部分都需要它。这将包括 HTML 电子邮件、如何处理退回的解决方案等。

我可以选择使用我自己的 SMTP 服务器(应用程序托管在 VPS 上),或使用托管服务提供商。

我也想在这里开始记录(可能是 log4net)

对于库的使用/模式实现有什么建议吗?

编辑:http://martinnormark.com/2010/03/13/generate-html-e-mail-body-in-c-using-templates

我喜欢调试捕获 asp.net net.mail - route all emails to a different email address in debug mode

最佳答案

要使用伪造的 SMTP 服务器进行测试,请使用 ndumbster . Phil Haack 有一篇关于使用的博客文章 - http://haacked.com/archive/2006/05/30/ATestingMailServerForUnitTestingEmailFunctionality.aspx

正如您所指出的,电子邮件模板非常棒。考虑为 HTML 和纯文本创建一个模板。确保您的 HTML 电子邮件模板使用基本 HTML,因为许多电子邮件客户端不符合现代浏览器标准(例如,使用 Word HTML 呈现引擎的 Outlook)。

Log4Net 是开始记录日志的好点。您还可以使用 System.Diagnostics 进行简单的跟踪和调试,这可以轻松地写入事件日志或文件。我总是更喜欢为所有日志记录提供一个包装器,这样如果您发现以后因为必须具备的功能而想要换出它们,就可以轻松地换出日志框架。从可测试性的角度来看,它也很好,因为您可以轻松模拟它。

只要不被列入黑名单,使用哪个 SMTP 服务器并不重要。确保根据 DNSBL 检查 SMTP 服务器 IP这样您就知道您的 SMTP 主机名声是否不好。我强烈建议使用 Barracuda Central 的 IP 信誉来检查它 - http://www.barracudacentral.org/lookups .当您的收件人使用 grey listing 时,还要确保您的 SMTP 服务器支持重新发送.

对于退回,您可以设置一个 POP 帐户以将其发回,这可能就像阅读电子邮件并找到拒绝来自哪个电子邮件帐户以及上一封电子邮件的主题(应该是唯一的)一样简单这样您就可以稍后再次发送或在几次退回后将它们从列表中删除。要实现读取 POP,请查看此线程 - Reading Email using Pop3 in C#

关于c# - ASP.NET 电子邮件模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3454429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com