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);