C#调用本地Outlook发送邮件实例

转载 2015年11月18日 14:55:24

创建一个新的winform,在winform中添加一个button,如下:


双击SendMail按钮,添加如下代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.Mail;
using System.Net;
using Outlook = Microsoft.Office.Interop.Outlook;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Outlook.Application olApp = new Outlook.Application();
            Outlook.MailItem mailItem = (Outlook.MailItem)olApp.CreateItem(Outlook.OlItemType.olMailItem);
            mailItem.To = "xxxxxxxxx@xxx.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;
        }
        
    }
}


其中引用了using Outlook = Microsoft.Office.Interop.Outlook; 需要在Reference里添加如下库:



在执行前修改收件人邮箱地址和附件地址:

mailItem.To = "xxxxxxxxx@xxx.com";
mailItem.Attachments.Add(@"C:\test.rar");
(由于没有添加判断附件的语句,所以没有找到附件时不会发送邮件。)


完成后按F5执行,点击button,接收邮件如下:



具体使用过程中可根据需要调整邮件内容和是否添加附件等。

参考:http://www.cnblogs.com/allen0118/p/4622798.html

c# 调用outlook发送邮件

1.首先,勾选outlook组件 《1》右击工程文件的Reference,选择Add Reference。 《2》点击.net tab, 选择Microsoft.Office.Inte...
  • fenfeiqinjian
  • fenfeiqinjian
  • 2016年01月29日 11:14
  • 1968

C# winform 通过调用outlook发送邮件

//用vs2005,只需要加一个com组件,名称是:Microsoft outlook 11.0 object library using System.Net.Mail; ///   /// 发送邮...
  • mawering
  • mawering
  • 2008年05月14日 13:37
  • 2167

针对C#调用OutLook发送邮件模块出现的各类问题解决方案

最近Tony小编在VS2003+Office 2010的环境下编写了一个使用OutLook发送邮件的功能(具体模块代码参见本人之前文章),在模块从无到有,从测试到收尾的过程中遇见很多错误和异常,那么下...
  • tony0225
  • tony0225
  • 2014年01月16日 13:54
  • 1769

C# 调用outlook 发送邮件

1. 这个是调用IE Mailto 来发送的,调用win API 首先要添加引用using System.Runtime.InteropServices;     class Mailto  ...
  • fsqcy
  • fsqcy
  • 2014年08月28日 22:41
  • 1220

outlook2010已发送邮件不能自动保存到本地

安装补丁kb2475877
  • yuanshibiantai
  • yuanshibiantai
  • 2016年10月27日 18:30
  • 1062

利用Excel VBA实现Outlook邮件发送实现

这段时间一直在为公司设计一套基于Excel的数据管理,并利用统计后的数据进行实现邮件发送,在实现过程中却出现了一个小的问题:在邮件发送时,会出现安全提示,只有接受后,才可以邮件发送,通过互联网进行查询...
  • nodeman
  • nodeman
  • 2015年08月04日 14:38
  • 3547

java调用outlook

package test; import java.io.BufferedReader; public class TestMail { public static void main...
  • cbjcry
  • cbjcry
  • 2017年04月13日 10:27
  • 1120

python两种发邮件的方式smtp和outlook

smtp是直接调用163邮箱的smtp服务器,需要在163邮箱中设置一下。outlook发送就是python直接调用win32方式 调用程序outlook直接发送邮件。 import win32c...
  • qq_26925867
  • qq_26925867
  • 2017年06月02日 13:29
  • 604

使用python给outlook多个联系人发邮件

使用python对多个outlook联系人发送邮件
  • chenKFKevin
  • chenKFKevin
  • 2017年08月31日 16:07
  • 1144

C# 调用outlook 发送邮件 或添加附件发送

1. 这个是不调用IE Mailto 来发送的,调用win API来Mailto.ShellExecute(0, String.Empty, "mailto:vcool011@hotmail.com?...
  • hutao1101175783
  • hutao1101175783
  • 2013年08月13日 18:30
  • 4724
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#调用本地Outlook发送邮件实例
举报原因:
原因补充:

(最多只允许输入30个字)