gpt4 book ai didi

c# - 在 C# 中通过 MailMessage 取消 outlook session 请求

转载 作者:可可西里 更新时间:2023-11-01 08:47:36 24 4
gpt4 key购买 nike

我正在使用 C# 中的 ASP.NET MVC 1 框架创建一个应用程序,其中我有注册事件的用户。注册后,我创建了一个 outlook session 请求

public string BuildMeetingRequest(DateTime start, DateTime end, string attendees, string organizer, string subject, string description, string UID, string location)
{
System.Text.StringBuilder sw = new System.Text.StringBuilder();

sw.AppendLine("BEGIN:VCALENDAR");
sw.AppendLine("VERSION:2.0");
sw.AppendLine("METHOD:REQUEST");
sw.AppendLine("BEGIN:VEVENT");
sw.AppendLine(attendees);
sw.AppendLine("CLASS:PUBLIC");
sw.AppendLine(string.Format("CREATED:{0:yyyyMMddTHHmmssZ}", DateTime.UtcNow));
sw.AppendLine("DESCRIPTION:" + description);
sw.AppendLine(string.Format("DTEND:{0:yyyyMMddTHHmmssZ}", end));
sw.AppendLine(string.Format("DTSTAMP:{0:yyyyMMddTHHmmssZ}", DateTime.UtcNow));
sw.AppendLine(string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}", start));
sw.AppendLine("ORGANIZER;CN=\"NAME\":mailto:" + organizer);
sw.AppendLine("SEQUENCE:0");
sw.AppendLine("UID:" + UID);
sw.AppendLine("LOCATION:" + location);
sw.AppendLine("SUMMARY;LANGUAGE=en-us:" + subject);
sw.AppendLine("BEGIN:VALARM");
sw.AppendLine("TRIGGER:-PT720M");
sw.AppendLine("ACTION:DISPLAY");
sw.AppendLine("DESCRIPTION:Reminder");
sw.AppendLine("END:VALARM");
sw.AppendLine("END:VEVENT");
sw.AppendLine("END:VCALENDAR");

return sw.ToString();
}

构建完成后,我使用 MailMessage 和另一个 View 来发送 session 请求:

meetingInfo = BuildMeetingRequest(start, end, attendees, organizer, subject, description, UID, location);           

System.Net.Mime.ContentType mimeType = new System.Net.Mime.ContentType("text/calendar; method=REQUEST");
AlternateView ICSview = AlternateView.CreateAlternateViewFromString(meetingInfo,mimeType);
MailMessage message = new MailMessage();

message.To.Add(to);
message.From = new MailAddress(from);
message.AlternateViews.Add(ICSview);

SmtpClient client = new SmtpClient();
client.Send(message);

当用户在 outlook 中收到电子邮件时,它显示为 session 请求,而不是普通电子邮件。

这也适用于发送 session 请求的更新。我遇到的唯一问题是我不知道发送取消通知的正确格式。我试图在文本编辑器中检查一些 session 请求取消,但似乎无法确定取消/创建之间的格式差异。

非常感谢对此的任何帮助。

最佳答案

根据 RFC 2445你只需要设置 STATUS:CANCELLED

关于c# - 在 C# 中通过 MailMessage 取消 outlook session 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2654743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com