[c#] OutlookなしでOutlook会議出席依頼を送信しますか?



Answers

sourceforgeのDDay.iCal C#ライブラリを参照してください。
http://sourceforge.net/projects/dday-ical/

次に、このcodeprojectの記事を読んでください:
http://www.codeproject.com/Articles/17980/Adding-iCalendar-Support-to-Your-Program-Part-1

そしてこれを読んでください:
C#でイベントをiCalendarおよびvCalendar形式にエクスポートする

Question

私は、サーバーにOutlookをインストールせずにCOM Interopを使用している人に会議出席依頼を送信することが可能かどうか疑問に思います。

Exchange 2003はWindows 2003ドメインにあり、すべてのユーザーはドメインユーザーです。 私は '丸ごとiCal / vCalまたは何かを送ることができると思いますが、OutlookなしでExchange経由で会議出席依頼を送る適切な標準的方法があるのだろうか?

C#/ .netが問題の場合はこれです。




次のコードは、Outlookが[承諾/拒否]ボタンを表示するような方法で会議出席依頼を送信します。

UIDは会議ごとに一意でなければならないことに注意してください。私はGUIDを使用しました。

また、CREATED、DTSTART、DTEND、DTSTAMP、LAST-MODIFIEDを置き換える必要があることに注意してください。 これらはUTCの日付/時刻です。

    var m = new MailMessage();

    m.Subject = "Meeting";

    m.Body = "";

    string iCal = 
@"BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 14.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
CLASS:PUBLIC
CREATED:20140423T045933Z
DESCRIPTION:desc
DTEND:20140430T080000Z
DTSTAMP:20140423T045933Z
DTSTART:20140430T060000Z
LAST-MODIFIED:20140423T045933Z
LOCATION:location...
PRIORITY:5
SEQUENCE:0
SUMMARY;LANGUAGE=en-us:Summary...
TRANSP:OPAQUE
UID:D8BFD357-88A7-455C-86BC-C2CECA9AC5C6
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-DISALLOW-COUNTER:FALSE
X-MS-OLK-AUTOFILLLOCATION:FALSE
X-MS-OLK-CONFTYPE:0
BEGIN:VALARM
TRIGGER:-PT60M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR";

    using (var iCalView = AlternateView.CreateAlternateViewFromString(iCal, new System.Net.Mime.ContentType("text/calendar")))
    {
        m.AlternateViews.Add(iCalView);

        var c = new SmtpClient();

        // Send message
        c.Send(m);
    }

これは、設定ファイルにローカルSMTPサーバが設定されていることを前提としています。

  <system.net>
    <mailSettings>
      <smtp deliveryMethod="Network" from="no-reply@example.com">
        <network defaultCredentials="true" host="smtp.example.local" />
      </smtp>
    </mailSettings>
  </system.net>



Related