在c#中发送邮件有什么好的库吗?类似于rails中的actionmailer。我知道.net框架有一些类,但我正在寻找适合特定场景的包装器,希望能节省一些时间。
答案 0 :(得分:6)
System.Web.UI.WebControls.MailDefinition
可以使用MailDefinition类 通过控件来创建MailMessage 来自文本文件或字符串的对象 包含电子邮件的正文 信息。使用MailDefinition类 简化创建预定义的电子邮件 要由控件发送的消息。如果 你想发送不使用电子邮件的电子邮件 控制,请参阅System.Net.Mail 类。
您可以在中进行文本替换 传递的电子邮件正文 到CreateMailMessage方法一个 映射字符串的IDictionary实例 他们的替代品。
由。创建的MailMessage对象 MailDefinition类是使用。发送的 发送SmtpClient类的方法。 为了能够发送电子邮件,您必须 在你的配置SMTP邮件服务器 Web.config文件。欲获得更多信息, 看元素(网络 设置)。
不支持数据绑定,只支持文本替换。
答案 1 :(得分:4)
System.Net.Mail
命名空间真的有你需要的一切。
查看MSDN docs on System.Net.Mail,然后查看this site dedicated到该命名空间。
您可以获得MailMessage
,MailAddress
,SmtpClient
等课程以及更多内容 - 您真正需要的 - 不需要其他第三方库。
如何创建邮件正文 - 无论您想要使用哪种模板 - 完全取决于您。这不应该是邮件发送工具的一部分 - 它只是发送邮件(这是它的唯一责任)。如何创建邮件正文是一个不同的责任,由其他一些类处理 - 你完全没有在那里使用的。
答案 2 :(得分:0)
请注意,.NET Framework不附带SMTP服务器,因此您需要访问SMTP服务器才能发送使用库或模板系统构建的任何电子邮件。如果您将此作为公司项目的一部分,这可能不是问题,因为您的企业不会怀疑具备这种能力。作为家庭项目,您需要使用ISP提供的详细信息,以便发送电子邮件。