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.

War es hilfreich?

Lösung

Nach RFC 2445 nur einstellen müssen STATUS:CANCELLED

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top