[Mail] Champs CC et Bcc récalcitrants [Résolu]

Ikki2504 13 Messages postés lundi 15 octobre 2007Date d'inscription 26 décembre 2010 Dernière intervention - 4 avril 2009 à 22:40 - Dernière réponse : cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention
- 6 avril 2009 à 20:44
Bonjour à tous,

Ma question est probablement stupide, mais ça fait des heures que je bute là dessus, et la msdn ainsi que la bonne douzaine de forums visités ne m'ont pas apportés la réponse à mon problème.

Je développe un petit module d'une application qui a pour mission d'envoyer un mail. J'utilise pour ça System.Net.Mail;

Quand j'écris :
public void EnvoieMail(String expediteur, String destinataire, String sujet, String message, String serveurSMTP)
{
MailMessage m = new MailMessage(expediteur, destinataire, sujet, message);
SmtpClient client = new SmtpClient(serveurSMTP);
try { client.Send(m); }
}
ça tourne parfaitement, le mail arrive a bon port(mon SMTP ne requiert pas d'authentification, tout est niquel).

Mais dès que j'essaie de gérer les copies, c'est la chute...

Si j'écris
m.CC.Add(copie);
j'ai droit à "La chaîne spécifiée n'est pas de la forme requise pour une adresse de messagerie." lors de l'exécution.

Si j'écris
m.CC = copie;
j'ai droit à "System.Net.Mail.MailMessage.CC ne peut être assigné -- il est en lecture seule" à la compil.

Si j'écris
m.CC.Add(new MailMessage(copie));
j'ai droit à "System.Net.Mail.MailMessage ne contient pas de constructeur qui accepte d'argument '1'. Pourtant, quand je fais m.To.Add(new MailMessage(destinataire)); ça marche...

(dans mes tests, copie = mon adresse de messagerie hotmail, ou no-log, ou de mon université... et quand je mets une de ces adresses dans destinataires, ça marche)

Qui pourrait m'EXPLIQUER pourquoi y'a rien à faire pour mettre une adresse de messagerie en copie sur un mail s'il vous plaît?
Merci beaucoup
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 5 avril 2009 à 23:27
3
Merci
Dur à dire comme ça...
Ce code doit fonctionner: http://msdn.microsoft.com/fr-fr/library/system.net.mail.mailmessage.bcc.aspx

Si ce n'est pas le cas, vérifie bien que l'email soit une eMail valide:
Sur ce point, il faut faire attention... ça ne m'étonnerais pas que certain site propose de faire des mails qui ne respecte pas la norme tel que définie dans la RFC 5321... Si c'est le cas, et que le framework .NET détecte une telle adresse, ça va probablement coincer et tu risques d'avoir le message "email invalide".

<hr />
-Blog-
-Site Perso-

Merci cs_Bidou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de cs_Bidou
Meilleure réponse
Ikki2504 13 Messages postés lundi 15 octobre 2007Date d'inscription 26 décembre 2010 Dernière intervention - 6 avril 2009 à 13:04
3
Merci
Bon finalement j'ai trouvé la solution, c'était moi l'abruti...

En fait je passais mes paramètres à ma fonction EnvoieMail dans un ordre, et je les récupérais dans un autre ordre... De plus, j'avais mal interprété le message d'erreur qui apparaissait. Merci messieurs les points d'arrêts !

Par ailleurs, je connaissais pas la RFC 5321, je vais y jeter un coup d'oeil.

Merci :-)

Merci Ikki2504 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de Ikki2504
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 5 avril 2009 à 12:10
0
Merci
Salut,
Est-ce que tu as déjà essayé de suivre l'exemple de MSDN?
http://msdn.microsoft.com/fr-fr/library/system.net.mail.mailmessage.cc.aspx

<hr />
-Blog-
-Site Perso-
Commenter la réponse de cs_Bidou
Ikki2504 13 Messages postés lundi 15 octobre 2007Date d'inscription 26 décembre 2010 Dernière intervention - 5 avril 2009 à 17:52
0
Merci
Oui je l'ai suivi et j'ai deux problèmes : Le premier, c'est la ligne
client.Credentials = CredentialCache.DefaultNetworkCredentials;

qui plante. Je la mets en commentaire pour être tranquille (fallait pas ??). A l'exécution, la ligne
MailAddress copy = new MailAddress(copie);
plante et m'indique un FormatException, soi-disant que l'adresse n'est pas une adresse de messagerie valide.
Je recommence en mettant :
MailAddress copy = new MailAddress("monadresse_mail@xxx.fr"); et là j'ai droit à "Le nom distant 'monadresse_mail@xxx.fr' n'a pas été résolu".
Oui Internet fonctionne, oui l'adresse mail est correctement écrite...
Ca commence à me dépasser
Commenter la réponse de Ikki2504
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 6 avril 2009 à 20:44
0
Merci
<hr />
-Blog-
-Site Perso-
Commenter la réponse de cs_Bidou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.