Abbrechen Ausblick Besprechungsanfragen via Mailmessage in C #
-
27-09-2019 - |
Frage
Ich erstelle eine Anwendung mit dem ASP.NET MVC 1 Framework in C #, wo ich Benutzer, die für Veranstaltungen anmelden. Nach der Registrierung, ich einen Ausblick Besprechungsanfrage erstellen
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();
}
Und einmal gebaut, ich benutze Mailmessage, mit einer alternativen Ansicht, die die Besprechungsanfrage zu senden:
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);
Wenn Benutzer die E-Mail in Outlook zu erhalten, zeigt es als Besprechungsanfrage auf, als auf eine normale E-Mail entgegen.
Das funktioniert gut für Aktualisierungen des Besprechungsanfrag als auch aussenden. Das einzige Problem, dass ich habe, ist, dass ich weiß nicht, das richtige Format für das Senden eine Stornierung aus. Ich habe versucht, einige Besprechungsanfrag Stornierungen in Texteditoren zu prüfen und kann nicht scheinen, den Unterschied im Format zwischen Aufhebung / Erstellen von genau zu bestimmen.
Jede Hilfe zu diesem Thema wird sehr geschätzt.
Lösung
Nach RFC 2445 nur einstellen müssen STATUS:CANCELLED