c# 发邮件时发送会议邀请icalendar包括更新以及取消
来源:互联网 发布:windows控制面板命令 编辑:程序博客网 时间:2024/05/17 01:22
c#同僚们,最近我在做一个发送邮件发送i'calendar的功能,在网上找了好多资料,自己无数次修改以及测试,终于成功了
下面时我的成功实例,至于各个属性在这里就不多做介绍了
1、创建
public string createEmail() { StringBuilder sb = new StringBuilder();sb.Append(@"BEGIN:VCALENDARPRODID:-//Google Inc//Google Calendar 70.9054//ENVERSION:2.0CALSCALE:GREGORIANMETHOD:REQUESTBEGIN:VEVENTDTSTART:20171026T083000ZDTEND:20171026T093000ZDTSTAMP:20171026T082604ZORGANIZER:mailto:111@111.com UID:111@111.com 5656ATTENDEE:TYPE=INDIVIDUAL Mailto:222@222.comATTENDEE:TYPE=INDIVIDUAL Mailto:333@333.comCREATED:20171026T082604ZDESCRIPTION:ssssssssLAST-MODIFIED:20171026T082604ZLOCATION:PRIORITY:5SEQUENCE:0STATUS:CONFIRMEDSUMMARY:TRANSP:OPAQUEEND:VEVENTEND:VCALENDAR"); return sb.ToString(); }
这里的PRIORITY:5SEQUENCE:0其实是设置优先级以及顺序号的,本人测试过其实这两个参数在增删改时保持不变也没有出错。注意保持UID的唯一性
修改和创建其实只要UID保持一致然后修改你所需要的内容即可,比如修改开会时间
public string updateEmailNew() { StringBuilder sb = new StringBuilder();sb.Append(@"BEGIN:VCALENDARPRODID:-//Google Inc//Google Calendar 70.9054//ENVERSION:2.0CALSCALE:GREGORIANMETHOD:REQUESTBEGIN:VEVENTDTSTART:20171026T083000ZDTEND:20171027T093000ZDTSTAMP:20171027T082604ZORGANIZER:mailto:111@111.com UID:111@111.com 5656ATTENDEE:TYPE=INDIVIDUAL Mailto:222@222.comATTENDEE:TYPE=INDIVIDUAL Mailto:333@333.comCREATED:20171026T082604ZDESCRIPTION:ssssssssLAST-MODIFIED:20171026T082604ZLOCATION:PRIORITY:5SEQUENCE:1STATUS:CONFIRMEDSUMMARY:TRANSP:OPAQUEEND:VEVENTEND:VCALENDAR"); return sb.ToString(); }
这里我修改了会议邀请的时间,等邮件收到接受邀请后会将原来的会议时间改成这个时间
取消会议
public string CancelEmail() { StringBuilder sb = new StringBuilder();sb.Append(@"BEGIN:VCALENDARPRODID:-//Google Inc//Google Calendar 70.9054//ENVERSION:2.0CALSCALE:GREGORIANMETHOD:CANCELBEGIN:VEVENTDTSTART:20171026T083000ZDTEND:20171027T093000ZDTSTAMP:20171027T082604ZORGANIZER:mailto:111@111.com UID:111@111.com 5656ATTENDEE:TYPE=INDIVIDUAL Mailto:222@222.comATTENDEE:TYPE=INDIVIDUAL Mailto:333@333.comCREATED:20171026T082604ZDESCRIPTION:ssssssssLAST-MODIFIED:20171026T082604ZLOCATION:PRIORITY:5SEQUENCE:2STATUS:CONFIRMEDSUMMARY:TRANSP:OPAQUEEND:VEVENTEND:VCALENDAR"); return sb.ToString(); }
上面的代码注意空格以及各个属性间的符号,稍微多出空格或者符号就会生成不成功对此我付出了很多时间,
下面是发送邮件时的处理
string content= createEmail();System.Net.Mime.ContentType contype = new System.Net.Mime.ContentType("text/calendar"); contype.Parameters.Add("method", "REQUEST"); contype.Parameters.Add("charset", "UTF-8"); System.Net.Mail.AlternateView avCal = System.Net.Mail.AlternateView.CreateAlternateViewFromString(content, contype); msg.AlternateViews.Add(avCal); msg.Body = body; client.Send(msg);
阅读全文
0 0
- c# 发邮件时发送会议邀请icalendar包括更新以及取消
- C#发送会议(约会)邀请
- 直接通过SMTP服务发Exchange会议邀请邮件
- javamail 发送邮件,发复杂html,包括附件,以及内嵌图片的邮件
- 使用javamail发送会议邀请
- 通过程序发送会议邀请
- 使用ical4j和javamail发送会议邀请
- C#实现邮件的发送与接受(包括附件)
- office365邮件d的icalendar
- c#如何发邮件?
- C#发邮件
- C# 发邮件
- C#实现发邮件
- c#异步发邮件
- C# 发用邮件
- C# 发邮件
- C# 发邮件
- C#自动发邮件
- hashMap--put(k,v)源码分析
- 心急的c小加
- iptables配置
- 【OGRE】Ogre for vs2012安装配置
- git使用总结
- c# 发邮件时发送会议邀请icalendar包括更新以及取消
- 微服务要素-十二要素(The Twelve Factors)
- Hibernate进阶一级缓存
- Yii2框架使用redis: yii2本地添加redis扩展及其使用
- [转载]云原生应用的12要素
- 参透javascipt
- 李园
- IDEA快捷键
- Linux-进程、进程组、作业、会话、控制终端详解