当前位置 > 首页 > Asp.net

通过SmtpClient发送Exchange会议邮件

2009-7-10 17:11:00来源:Asp.net

看到C#中调用Outlook API 发起会议 ,这个完全可以用SMTP方式实现的,下面我的项目中使用的代码:

对于.NET而言,从2.0开始,发邮件已经是一件非常容易的事了。而且新增了一个AlternateView使用 AlternateView 类可以指定一个电子邮件的不同格式副本。例如,如果您发送 HTML 格式的邮件,您可能希望同时提供邮件的纯文本格式,以防一些收件人使用的电子邮件阅读程序无法显示HTML 内容。

通过使用AlternateView我们就可以实现Exchange 会议邮件的发送。核心代码如下:

         

           MailMessage msg = new MailMessage();   

            // Set up the different mime types contained in the message   

            System.Net.Mime.ContentType textType = new System.Net.Mime.ContentType("text/plain");   

            System.Net.Mime.ContentType HTMLType = new System.Net.Mime.ContentType("text/html");   

            System.Net.Mime.ContentType calendarType = new System.Net.Mime.ContentType("text/calendar");   

           

            // Add parameters to the calendar header   

            calendarType.Parameters.Add("method", "REQUEST");   

            calendarType.Parameters.Add("name", "meeting.ics");   

           

            // Create message body parts   

            // create the Body in text format   

           

            string bodyText = "Type:Single Meeting"r"nOrganizer: {0}"r"nStart Time:{1}"r"nEnd Time:{2}"r"nTime Zone:{3}"r"nLocation: {4}"r"n"r"n*~*~*~*~*~*~*~*~*~*"r"n"r"n{5}";   

            bodyText = string.Format(bodyText, organizerName, start.ToLongDateString() + " " + start.ToLongTimeString(), end.ToLongDateString() + " " + end.ToLongTimeString(), System.TimeZone.CurrentTimeZone.StandardName, location, summary);   

            AlternateView textView = AlternateView.CreateAlternateViewFromString(bodyText, textType);   

            msg.AlternateViews.Add(textView);   

           

            //create the Body in HTML format   

            string bodyHTML = "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 3.2//EN"">"r"n<HTML>"r"n<HEAD>"r"n<META HTTP-EQUIV=""Content-Type"" CONTENT=""text/html; charset=utf-8"">"r"n<META NAME=""Generator"" C


  • CGI介绍及使用Python来开发CGI应用示例

    2009-12-31 1:32:00

    阅读: 454 评论: 2 作者: Tower Joo 发表于 2009-12-30 18:24 原文链接 CGI介绍及使用Python来开发CGI应用示例 本博客所有内容采用 Cre

  • 使用SharePoint文档库需注意的问题

    2009-7-16 19:29:00

    虽然SharePoint的文档库,给我们带来了其他文档管理做不到的功能,如文档的版本管理,文档模板管理,文档的签入、迁出,与Office的集成等功能,但我们在使用SharePoint搭建站

  • 跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(二)Models(ORM)

    2009-9-3 13:08:00

    摘要: 我们将以实例为主,关于MVC的具体理论请在博客园中搜索,到处都有。在设计好数据库之后,打开VS2008,选择创建项目“ASP.NET MVC WEB APLLICATION

  • 不要new你的函数

    2010-7-11 16:36:00

    作者: 诺贝尔 发表于 2010-07-11 11:26 原文链接 阅读: 790 评论: 31 c#有个new函数的语法,但是我觉得这个东西用途很少。很多时候容易出现设计上的错误

  • 用网站(WebSite而不是WebProject)项目构建ASP.NET MVC网站

    2011-10-30 22:44:00

    从ASP.NET MVC第一个版本开始到现在,创建ASP.NET MVC项目的官方方法只有一个,“文件”->“新建”->“项目”,然后选择ASP.NET MVC X Web应用程序。

  • Excel中的图表事件

    2009-6-8 1:30:00

    摘要: Excel中的许多对象在VBA编程中都可以定制事件处理程序,如按钮、下拉列表、单选框和复选框等,本文着重介绍了Excel中Chart对象的各种事件,包括如何在Excel中快速创建图表,图表对

  • InfoPath + Workflow + MOSS

    2007-1-22 11:48:00

    6、 ECM Starter Kits 虽然是 forBeta2TR,但完全可以正常跑在正式版里,当然前提是对里面的个别打不开或跑不起来的项目进行一点修改 。 CustomSignatu

  • QCon全球企业开发大会流水账(By Joey Yin)

    2009-4-8 1:08:00

    摘要: 回到酒店已经很晚了,整整一天的QCon大会上海量的信息充斥着大脑,索性来记记流水账。缘起QCon全球企业开发大会(QCon Enterprise Software Development C

  • My97日期控件 My97 DatePicker Ver 3.0 正式版

    2007-6-24 22:06:00

    摘要: 一个很好的日期控件,已经是3.0版本了,有很多其他控件没有的特性,如跨框架,带时间选择,自定义格式,日期限制,支持FF,动态皮肤等等,文件包里有详细的演示和使用说明 阅读全文 My

  • 看对的书 (Part 0 - 何谓对错)

    2009-12-21 3:08:00

    阅读: 67 评论: 1 作者: Cat Chen 发表于 2009-12-21 00:02 原文链接 在《 老赵书托 》里面,Jeff把人脑比喻为「寄存器」,而我则更倾向于把人脑比喻为「