2017-08-21 18 views
1

必要なユーザーに電子メールの会議出席依頼を正常に送信しています。会合時間は午前8時半から午前9時までです。ユーザーが電子メールと招待状を受け取ると、UTC時刻になります。会議の意味は、午前4時30分から午前5時までです。これは、私のESTに設定されてOutlookタイムゾーンの問題ではありません。私はDateTimeと他の方法を使って指定しようとしましたが、どれも動作しません。私が指定しているかどうかにかかわらず、いつもこれはいつUTCにあるのですか?Outlook会議スケジュールがUTCでない

   SmtpClient MyMail = new SmtpClient("000.000.000.00"); 
       MyMail.DeliveryMethod = SmtpDeliveryMethod.Network; 
       MailMessage msg = new MailMessage(); 

       msg.From = new MailAddress("[email protected]", "[email protected]"); 
       msg.To.Add(new MailAddress("[email protected]", "Your Name")); 
       msg.Subject = "Send Calendar Appointment Email"; 
       msg.Body = "Here is the Body Content"; 

       StringBuilder str = new StringBuilder(); 
       str.AppendLine("BEGIN:VCALENDAR"); 
       str.AppendLine("PRODID:-//A"); 
       str.AppendLine("VERSION:2.0"); 
       str.AppendLine("METHOD:REQUEST"); 
       str.AppendLine("BEGIN:VEVENT"); 

       str.AppendLine(string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}", "20170822T083000Z")); 
       //specifying what time zone 
       var timeUtc = DateTime.UtcNow; 
       TimeZoneInfo easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); 
       DateTime easternTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, easternZone); 

       str.AppendLine(string.Format("DTSTAMP:{0:yyyyMMddTHHmmssZ}", easternTime)); 

       str.AppendLine(string.Format("DTEND:{0:yyyyMMddTHHmmssZ}", "20170822T090000Z")); 
       str.AppendLine("LOCATION: Here"); 
       str.AppendLine(string.Format("UID:{0}", Guid.NewGuid())); 
       str.AppendLine(string.Format("DESCRIPTION:{0}", msg.Body)); 
       str.AppendLine(string.Format("X-ALT-DESC;FMTTYPE=text/html:{0}", msg.Body)); 
       str.AppendLine(string.Format("SUMMARY:{0}", msg.Subject)); 
       str.AppendLine(string.Format("ORGANIZER:MAILTO:{0}", msg.From.Address)); 

       str.AppendLine(string.Format("ATTENDEE;CN=\"{0}\";RSVP=TRUE:mailto:{1}", msg.To[0].DisplayName, msg.To[0].Address)); 

       str.AppendLine("BEGIN:VALARM"); 
       str.AppendLine("TRIGGER:-PT15M"); 
       str.AppendLine("ACTION:DISPLAY"); 
       str.AppendLine("DESCRIPTION:Reminder"); 
       str.AppendLine("END:VALARM"); 
       str.AppendLine("END:VEVENT"); 
       str.AppendLine("END:VCALENDAR"); 
       System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType("text/calendar"); 
       ct.Parameters.Add("method", "REQUEST"); 
       AlternateView avCal = AlternateView.CreateAlternateViewFromString(str.ToString(), ct); 
       msg.AlternateViews.Add(avCal); 

       MyMail.Send(msg); 

答えて

1

問題は、この行でした:指定された時刻から 'Z' を削除

str.AppendLine(string.Format("DTEND:{0:yyyyMMddTHHmmssZ}", "20170822T090000Z"));

は、タイムゾーンとのリンクからそれを停止します。

関連する問題