Pau*_*els 10 c# email .net-3.5
我正在使用.NET 3.5,我想自动发送邮件.我目前正在使用以下内容:
Microsoft.Office.Interop.Outlook.MailItem mailMsg =
(Microsoft.Office.Interop.Outlook.MailItem)outlookApplication.CreateItem(
Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
mailMsg.To = recipient;
mailMsg.Subject = subject;
mailMsg.Body = body;
mailMsg.Send();
Run Code Online (Sandbox Code Playgroud)
但是,我发现有几篇文章似乎暗示我应该使用以下方法:
System.Net.Mail.MailMessage mailMsg = new System.Net.Mail.MailMessage();
mailmsg.To = recipient;
mailmsg.Subject = subject;
mailmsg.Body = body;
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我两个名称空间之间的差异,以及为什么你可能想要使用另一个名称空间?
Col*_*ond 10
我假设第一个需要在计算机中安装Outlook,以便安装Office Interop程序集.第二个是纯.Net框架.
第二个示例需要SMTP服务器,以进行直接连接,并使用此SMTP服务器发送电子邮件.它的开销很低,通常都能正常工作.
如果您需要撰写并发送当前用户的行为电子邮件,您可以使用outlook.
到目前为止,我只看到了前景不利的答案.但它有一些优点:
编辑: 我使用SMTP方法向我们的支持部门发送技术电子邮件(如日志文件和错误消息),这些邮件快速而不被注意.
我使用Outlook方法将用户行为的邮件发送给其他人.这些邮件很慢,但可以跟踪,等等.
第一种方法是通过创建Outlook(outlookApplication)实例并使该Outlook实例发送电子邮件来使用互操作.
第二个用于通过常规旧SMTP发送电子邮件,根本不需要Outlook.
除非您对互操作有特定需求,否则无需使用outlook发送电子邮件(并且您的代码将无法在未安装Outlook的任何计算机上运行).
| 归档时间: |
|
| 查看次数: |
2563 次 |
| 最近记录: |