C# 调用 Outlook发送邮件实例

时间:2023-03-09 06:53:32
C# 调用 Outlook发送邮件实例

添加引用:Microsoft.Office.Interop.Outlook

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;
using Outlook = Microsoft.Office.Interop.Outlook; namespace Common
{
public class MailHelper
{
public static void SendMail()
{
Outlook.Application olApp = new Outlook.Application();
Outlook.MailItem mailItem = (Outlook.MailItem)olApp.CreateItem(Outlook.OlItemType.olMailItem);
mailItem.To = "abc@163.com";
mailItem.Subject = DateTime.Now.ToString("yyyyMMdd") + "_报表";
mailItem.BodyFormat = Outlook.OlBodyFormat.olFormatHTML; string content = "附件为" + DateTime.Now.ToString("yyyyMMdd") + " 数据,请查阅,谢谢!";
content = "各收件人,<br/> <br/>请重点关注以下内容:<br/> <br/>" + content + "<br/> <br/><br/><br/>此邮件为系统自动邮件通知,请不要直接进行回复!谢谢。";
content = content + "<br/>\r\n <br/>Best Regards!\r\n <br/>\r\n <br/> \r\n <br/>==============================================\r\n \r\n <br/>\r\n <br/>\r\n \r\n ==============================================="; mailItem.HTMLBody = content;
mailItem.Attachments.Add(@"c:\test.rar");
((Outlook._MailItem)mailItem).Send();
mailItem = null;
olApp = null;
}
}
}

在Microsoft Office Outlook中需要配置一个发件人的邮件账户,如果是163之类的免费邮箱,则需要设置“客户端授权密码”,然后使用这个客户端授权密码替换邮箱的登录密码来进行配置,否则是发不了邮件的。

发送成功之后如下图所示:

C# 调用 Outlook发送邮件实例