Envoyer des mails pour Outlook avec ics rendez-vous de réunion

Je veux envoyer un mail avec des rendez-vous\réunion (ICS) pour le client Outlook. Lorsque l'utilisateur de recevoir le courrier, il doit accepter l'invitation à la réunion et automatiquement la réunion va à l'agenda et du courrier électronique est automatiquement supprimé.

Je suis en utilisant ce code:

public void Sendmail_With_IcsAttachment()
{
MailMessage msg = new MailMessage();
//Now we have to set the value to Mail message properties
//Note Please change it to correct mail-id to use this in your application
msg.From = new MailAddress("[email protected]", "ABC");
msg.To.Add(new MailAddress("[email protected]", "BCD"));
msg.CC.Add(new MailAddress("[email protected]", "DEF"));//it is optional, only if required
msg.Subject = "Send mail with ICS file as an Attachment";
msg.Body = "Please Attend the meeting with this schedule";
//Now Contruct the ICS file using string builder
StringBuilder str = new StringBuilder();
str.AppendLine("BEGIN:VCALENDAR");
str.AppendLine("PRODID:-//Schedule a Meeting");
str.AppendLine("VERSION:2.0");
str.AppendLine("METHOD:REQUEST");
str.AppendLine("BEGIN:VEVENT");
str.AppendLine(string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}", DateTime.Now.AddMinutes(+330)));
str.AppendLine(string.Format("DTSTAMP:{0:yyyyMMddTHHmmssZ}", DateTime.UtcNow));
str.AppendLine(string.Format("DTEND:{0:yyyyMMddTHHmmssZ}", DateTime.Now.AddMinutes(+660)));
str.AppendLine("LOCATION: " + this.Location);
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");
//Now sending a mail with attachment ICS file.                     
System.Net.Mail.SmtpClient smtpclient = new System.Net.Mail.SmtpClient();
smtpclient.Host = "localhost"; //-------this has to given the Mailserver IP
smtpclient.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
System.Net.Mime.ContentType contype = new System.Net.Mime.ContentType("text/calendar");
contype.Parameters.Add("method", "REQUEST"); 
contype.Parameters.Add("name", "Meeting.ics");
AlternateView avCal = AlternateView.CreateAlternateViewFromString(str.ToString(), contype);
msg.AlternateViews.Add(avCal);
smtpclient.Send(msg); 
}

Le mail est bien envoyé mais dans outlook (je suis en essais avec outlook 2010), il montre le corps, l'emplacement,les données, et il affiche le calendrier, mais ci-dessus le calendrier dans le mail que j'ai voir "Impossible de trouver de la réunion sur le calendrier" et "Accepter","Déclin" et" boutons sont désactivés!

J'ai essayé d'autres solutions et trouvés sur le web pour les anciens. BJOUR.Ical, mais je n'ai pas trouvé d'exemple pour l'utiliser.

Pour info, votre MailMessage et SmtpClient besoin d'être dans using blocs: using (MailMessage msg = new MailMessage()){... using (SmtpClient smtpClient = new SmtpClient()){ ... smtpClient.Send(msg);}}
ok merci mais je ne pense pas que C'est le problème
Si c'est le problème ou pas, vous devriez le faire - j'ai vu le courrier ne peut être livré pendant 2 minutes, jusqu'à ce que le garbage collector eu le temps de nettoyage.
Pourriez-vous ajouter la pleine résultant de message MIME à votre poste ?
Comment puis-je obtenir la pleine résultant de message MIME?

OriginalL'auteur ezechiele2517 | 2014-03-29