Après avoir vu comment récupérer les emails, voyons comment créer un nouvel email et l’envoyer à un compte email Exchange.
Création d’un nouveau message et envoi
string sDestinataire = m_edDestinataire.Text; /* Création d'email et envoi */ EmailMessage message = new EmailMessage(m_service); message.Subject = m_edSubject.Text; message.Body = m_rtbBody.Text; message.Body.BodyType = BodyType.HTML; message.Importance = Importance.Normal; //Ajout d’une propriété personnalisée appelé “MaProprietePerso” avec pour valeur //« Mavaleur » string sPropertyName = “MaProprietePerso”; ExtendedPropertyDefinition extendedPropertyDefinition = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, sPropertyName, MapiPropertyType.String); message.SetExtendedProperty(extendedPropertyDefinition, “MaValeur”); //Avec ou sans pièces jointes: if (sFilename != string.Empty) message.Attachments.AddFileAttachment(sFilename); //Destinataire : message.ToRecipients.Add(sDestinataire); //Accusé de reception : if (m_ckDelivery.Checked) message.IsDeliveryReceiptRequested = true; //Sauvegarde et envoi de l’email : message.SendAndSaveCopy(); |
Ce code vous permet de créer un nouveau message et de spécifier : son titre(sujet), le corps du message, son importance, des propriétés personnalisées, des pièces jointes, des destinataires et un accusé de réception.
Envoi différé
Un point rarement mentionné porte sur l’envoi différé, pour utiliser cette fonctionnalité, ajouter la classe suivante :
public static class ExchangeExtensions { public static ExtendedPropertyDefinition PR_DEFERRED_SEND_TIME = new ExtendedPropertyDefinition(16367, MapiPropertyType.SystemTime); public static ExtendedPropertyDefinition PR_DEFERRED_DELIVERY_TIME = new ExtendedPropertyDefinition(15, MapiPropertyType.SystemTime); /// /// Sets Delayed Delivery /// /// <span> </span> /// <span> </span>Do Not Send Before This Date and Time public static void SetDelayedDelivery(Microsoft.Exchange.WebServices.Data.EmailMessage email, DateTime deliveryDate) { string ut = deliveryDate.ToUniversalTime().ToString(); email.SetExtendedProperty(PR_DEFERRED_SEND_TIME, ut); email.SetExtendedProperty(PR_DEFERRED_DELIVERY_TIME, ut); } } |
Et sur le message, avant de l’envoyer :
ExchangeExtensions.SetDelayedDelivery(message, dateTimePicker1.Value); //Sauvegarde et envoi de l’email : message.SendAndSaveCopy(); |
Vous savez désormais récupérer les messages stockées sur le serveur Exchange et écrire de nouveaux emails en spécifiant de nombreuses options différentes.
s’il vous plait passez moi le lien pour voir comment on peut recupere les mails , s’il vouuuus plait j’en ai vraiment besoin
Bonjour,
Vous trouverez ici : http://www.thomasdupuis.com/portfolio/2011/03/14/francais-microsoft-exchange-ews-finditems-et-recuperation-demails/
une page expliquant les bases de la récupération d’emails.
Cordialement.