[C#] Smtp et liste de diffusion Serveur Exchange

Smtp et liste de diffusion Serveur Exchange [C#] - C#/.NET managed - Programmation

Marsh Posté le 06-03-2009 à 18:38:30    

Bonjour,  
j'ai un petit souci avec l'envoie de "liste de diffusion" via smtp
Sous Exchange 2003, je pouvais fournir mes liste de diffusions comme si c'était des adresses mails à ma méthode d'envoi des mails.
Depsuis la migration vers Exchange 2007, j'ai :
 

Code :
  1. System.FormatException: The specified string is not in the form required for an e-mail address.
  2.    at System.Net.Mime.MailBnfHelper.ReadMailAddress(String data, Int32& offset, String& displayName)
  3.    at System.Net.Mime.MailBnfHelper.ReadMailAddress(String data, Int32& offset)
  4.    at System.Net.Mail.MailAddressCollection.ParseValue(String addresses)
  5.    at System.Net.Mail.MailAddressCollection.Add(String addresses)


 
Voilà le code que j'utilise.
 

Code :
  1. MailMessage message = new MailMessage();
  2. message.From  =  "Ma liste de diffusion";
  3. message.To   = strDestinationEmail;
  4. message.Cc   = strCarbonCopy;
  5. message.Subject  = strSubject;
  6. message.Body  = strMessageBody;
  7. SmtpMail.Send(message);


 
Après avoir migrer du serveur Exchange 2003 à 2007 mes listes de diffusions ne sont plus reconnues.
 
Avez des renseignements concernant des configurations d'Exchange 2007.
Je précise que je ne fais pas appel à la classe Outlook fournit par C#, que mon code n'a pas bougé.
 
Je souhaite juste avoir des renseignements et des pistes de recherches.
 
Merci.

Reply

Marsh Posté le 06-03-2009 à 18:38:30   

Reply

Marsh Posté le 07-03-2009 à 09:29:12    

Tes propriétés From, To et CC sont incorrectes : elles demandent une instance de la classe MailAddress et tu leur fournis une string
 

Code :
  1. message.From = new MailAddress("ton@dresse.mail","Ma liste de diffusion" );
  2. message.To = new MailAddress(strDestinationEmail, "Expediteur" );
  3. message.CC = new MailAddress(strCarbonCopy, "Copie" );


Ca marchera mieux


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 09-03-2009 à 16:22:36    

Merci pour ta réponse,
 
le problème vient du serveur de messagerie qui a cessé de reconnaître les listes de diffusions.
Je ne sais pas pourquoi mais il ne fait plus la relation entre le nom de la liste et l'adresse associé.
Je vais devoir faire des tests complémentaires.

Reply

Marsh Posté le 12-03-2009 à 18:11:54    

Le souci vient de la migration 2003, 2005. (Visual Studio)
 
En 2003 message.To()  ne teste pas la validité du mail.
Donc les listes de diffusions sont mapper par les adresses mails via Outlook.
 
En 2005 message.To.Add(s); Vérification automatique des adresses mails donc ça plante dans le code, d'où le message d'erreur.


Message édité par madkane le 12-03-2009 à 18:12:36
Reply

Marsh Posté le 13-03-2009 à 14:24:49    

Donc tu dois passer l'adresse mail de ta liste de diffusion au lieu de son alias si j'ai bien compris?
 
(pour ma culture perso)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed