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/>
                                    <br/>Best Regards!
                                    <br/>
                                    <br/>          
                                    <br/>==============================================
                               
                                    <br/>
                                    <br/>
                
             ===============================================";


            mailItem.HTMLBody = content;
            mailItem.Attachments.Add(@"c:	est.rar");
            ((Outlook._MailItem)mailItem).Send();
            mailItem = null;
            olApp = null;
        }
    }
}

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

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

原文地址:https://www.cnblogs.com/allen0118/p/4622798.html