Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
955 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  créer un mail par une ligne de code C# [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

créer un mail par une ligne de code C# [résolu]

n°1071772
Gaxx
Posté le 04-05-2005 à 14:45:47  profilanswer
 

Bonjour,
Voici exactement ce que je souhaite faire :
Après la saisie d'un objet, de destinataires et de documents je dois générer un courriel.
Le plus intéressant pour moi est d'appeler le client mail par défaut dans Windows (comme un lien mailto: dans une page Web).
 
 
J'ai fait quelques recherches mais je n'ai rien trouvé correspondant à mon besoin.
Est-il possible d'appeler le client mail par défaut en spécifiant les points suivants :
-expéditeur
-destinataire
-titre
-pièces jointes
-texte
 
 
Et autre question : Existe-t-il un format de fichier de courriels ? Cela doit me permettre de créer un courriel générique, avec mise en forme, police de caractère, ...
 
 
Par avance merci.


Message édité par Gaxx le 16-05-2005 à 11:24:43
mood
Publicité
Posté le 04-05-2005 à 14:45:47  profilanswer
 

n°1071810
cesarr89
Posté le 04-05-2005 à 14:58:31  profilanswer
 

using System.Web.Mail ??non c'est pas ce que tu veux?

n°1071849
Gaxx
Posté le 04-05-2005 à 15:06:44  profilanswer
 

cesarr89 a écrit :

using System.Web.Mail ??non c'est pas ce que tu veux?


 
Je ne suis pas sûr car System.Web.Mail permet de créer et d'envoyer un mail via un smtp en ligne de microsoft à ce que j'ai compris.
En fait il faut que l'utilisateur de mon programme ait la main sur l'envoi du courriel. Et pour pouvoir tracer les envois, il est nécessaire de passer par un client mail.
 
Je pourrais le faire en utilisant les COM de Outlook par exemple mais ça me paraît un peu lourd pour ce que je veut faire. En plus ça limite le client mail géré à Outlook.  
 
Donc si il y a un moyen de faire comme les liens html "mailto:" ça m'arrangerai grandement.
 
NB : l'ajout de fichiers en pièces jointes est un plus, l'utilisateur pourrait le faire manuellement.

n°1071856
FlorentG
Unité de Masse
Posté le 04-05-2005 à 15:08:12  profilanswer
 

Non, aucun moyen. Il faut obligatoirement envoyer le mail côté serveur...

n°1071868
cesarr89
Posté le 04-05-2005 à 15:11:34  profilanswer
 

Citation :

Il faut obligatoirement envoyer le mail côté serveur...


 
Comment ca coté serveur??

n°1071872
Gaxx
Posté le 04-05-2005 à 15:11:55  profilanswer
 

FlorentG a écrit :

Non, aucun moyen. Il faut obligatoirement envoyer le mail côté serveur...


 
Aïe !  :cry:  
 
Et même en utilisant les COM Outlook ???

n°1071944
Gaxx
Posté le 04-05-2005 à 15:35:21  profilanswer
 

Bon, à prioris avec les COM de Outlook c'est possible.
J'y travaille donc je ne peut pas encore en être sûr.  
 
 
Quel est le format de fichier des mails ?

n°1071966
jagstang
Pa Capona ಠ_ಠ
Posté le 04-05-2005 à 15:41:58  profilanswer
 

email n'est pas un format de fichier...


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1072010
FlorentG
Unité de Masse
Posté le 04-05-2005 à 16:05:29  profilanswer
 

cesarr89 a écrit :

Comment ca coté serveur??


Bah côté serveur :??:

Gaxx a écrit :

Bon, à prioris avec les COM de Outlook c'est possible.
J'y travaille donc je ne peut pas encore en être sûr.  
 
 
Quel est le format de fichier des mails ?


Si c'est pour un intranet, y'a moyen. Donc avec COM tu créer un mail etc. Par contre je pige pas la question sur le format de fichier, vu qu'on s'en fout.
Sinon si c'est pour Internet c'est même la peine :(

n°1072032
Gaxx
Posté le 04-05-2005 à 16:12:57  profilanswer
 


FlorentG =>

Citation :

Sinon si c'est pour Internet c'est même la peine :(


Je suis bien en intranet, et même si un jour mon appli est portée en n-tiers le mail sera généré sur le poste client.
Donc pour ça c'est bon.
 
 
JagStang =>

Citation :

email n'est pas un format de fichier...


& FlorentG =>

Citation :

Par contre je pige pas la question sur le format de fichier, vu qu'on s'en fout.


Oui, je me suis mal exprimé : il existe un format ".eml" qui est reconnu par Outlook express et permet par exemple de créer un "conteneur" autour du texte en lui même (ici : mettre le logo de la société).
 
Sur ma machine j'ai Outlook express (par défaut) et Outlook 2003, et les fichiers ".eml" sont pris par Outlook express.
 
Y a-t-il un équivalent des ".eml" pour Outlook ?

mood
Publicité
Posté le 04-05-2005 à 16:12:57  profilanswer
 

n°1072038
jagstang
Pa Capona ಠ_ಠ
Posté le 04-05-2005 à 16:15:18  profilanswer
 

c'est un format propriétaire


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1072060
Gaxx
Posté le 04-05-2005 à 16:22:36  profilanswer
 

Ok, merci.
 
Donc il ne me reste plus qu'à faire le corps du courriel en HTML pour y placer le logo de la société et d'autres fioritures.
 
@+

n°1072063
FlorentG
Unité de Masse
Posté le 04-05-2005 à 16:23:27  profilanswer
 

Gaxx a écrit :

Y a-t-il un équivalent des ".eml" pour Outlook ?


Oui, mais si tu fais ça via com, le format de fichier importe peu. Tu instancies côté client un Outlook, tu créer le mail et t'affiche :) Au pire tu lui dis d'enregistrer en .eml, mais tout ça se fait automatiquement :)


Message édité par FlorentG le 04-05-2005 à 16:23:35
n°1072151
Gaxx
Posté le 04-05-2005 à 17:05:29  profilanswer
 

FlorentG a écrit :

Oui, mais si tu fais ça via com, le format de fichier importe peu. Tu instancies côté client un Outlook, tu créer le mail et t'affiche :) Au pire tu lui dis d'enregistrer en .eml, mais tout ça se fait automatiquement :)


 
Quel est le format en question ?
Ce que je peut (peut-être) faire c'est :
1- créer un modèle de courriel dans un fichier
2- copier le fichier et remplir la copie avec mon texte
3- créer un courriel en plaçant la copie en pièce jointe (normalement ce fichier s'affiche dans le corps du courriel)
4- placer mes autres fichiers en pièces jointes
5- envoyer le paquet à Outlook
6- l'utilisateur assume l'envoi
 
C'est une alternative au format HTML...


Message édité par Gaxx le 04-05-2005 à 17:07:54
n°1072725
FlorentG
Unité de Masse
Posté le 05-05-2005 à 12:07:32  profilanswer
 

Comme dit, tu créer ton modèle dans outlook, tu l'enregistre. Puis sur le poste client, tu instancies via COM un outlook, tu lui fait ouvrir ton modèle, tu remplis les différents champs, et tu envoi

n°1079778
Gaxx
Posté le 11-05-2005 à 16:57:05  profilanswer
 

FlorentG a écrit :

Comme dit, tu créer ton modèle dans outlook, tu l'enregistre. Puis sur le poste client, tu instancies via COM un outlook, tu lui fait ouvrir ton modèle, tu remplis les différents champs, et tu envoi


 
De retour après une petite absence...
J'ai trouvé comment faire le modèle outlook, à présent je vais passer par un document intermédiaire pour stocker le contenu du courriel. Je vais récupérer le texte et le coller dans un courriel créé à partir du modèle (contenant le logo, la raison sociale, les coordonnées, ... de la boite). Pour des raisons d'assurance qualité il faut que je stocke le contenu du courriel envoyé.
 
Voilà ce que je veut faire :  
1- permettre à l'utilisateur de taper le texte de son courriel dans un fichier (doc, rtf ou txt mais word de préférence pour la mise en page)
2- lors de la création du courriel, je récupère le contenu du fichier créé en 1- pour le placer dans mon modèle de courriel
3- je défini l'expéditeur, le destinataire, l'objet, les PJ, ...
4- Sous outlook l'utilisateur n'a plus qu'à cliquer sur envoyer
 
Quelqu'un sait-il comment récupérer le contenu d'un fichier Word ???
J'ai fait quelques recherches et quelques essais mais je n'ai rien de concluant.
 

n°1079964
FlorentG
Unité de Masse
Posté le 11-05-2005 à 19:10:51  profilanswer
 

Pareil, t'instancie un word via COM, t'ouvres le fichier, et tu récupère tout dedans...

n°1080546
Gaxx
Posté le 12-05-2005 à 09:53:05  profilanswer
 

FlorentG a écrit :

Pareil, t'instancie un word via COM, t'ouvres le fichier, et tu récupère tout dedans...


 
Oui, je sais bien globalement comment procéder mais je ne sais pas exactement comment faire...
J'ai mon instance de Word, mon document ouvert et j'ai essayé un itérateur sur Document.Words, Document.Paragraphs mais j'ai le message d'erreur suivant :  
Erreur d'ouverture du document Word : Le membre de la collection requis n'existe pas.
 
Donc je suis un peu perdu ...

n°1081811
cesarr89
Posté le 13-05-2005 à 09:32:59  profilanswer
 

FlorentG a écrit :

Non, aucun moyen. Il faut obligatoirement envoyer le mail côté serveur...


 
Faux!!!! j'ai lu qu'avec les espaces de noms:
System.Net.Mail
System.Net.Mime
, du framework V2.0
Il devient alors possible d'envoyer des mail directement depuis l'application.
 
Source: le mag Programmez de ce mois.
 :jap:  
 

n°1081813
FlorentG
Unité de Masse
Posté le 13-05-2005 à 09:34:43  profilanswer
 

T'as rien compris, toi :o

n°1081816
cesarr89
Posté le 13-05-2005 à 09:37:02  profilanswer
 

Je sais que c'est pas en rapport avec ce que veux faire Gaxx, mais c'est pour dire que c'est possible d'envoyer des mails quand même.

n°1081822
FlorentG
Unité de Masse
Posté le 13-05-2005 à 09:39:09  profilanswer
 

Nan mais que je disais que c'était faux, je pensais qu'il voulait faire ça à partir d'une page web ;) Donc c'est pas faux ce que j'ai dis, fallait le replacer dans le contexte :)

n°1081830
cesarr89
Posté le 13-05-2005 à 09:42:52  profilanswer
 

Ok c'est pour ca que tu parlais de serveur, moi j'avais pas compris comme ca, c'est pour ca que le serveur ca ma étonné.
Milles excuses alors...

n°1082807
BoumboMagi​c
Posté le 13-05-2005 à 22:09:03  profilanswer
 

Gaxx, regarde du côté de  System.Diagnostics.Process.Start(string xyz) ou xyz serait un truc du genre mailto:blablablablabla ( par contre je ne suis pas sur qu'au niveau piece jointe ca marchera ), ca lancera le client mail par défault.
 
 
Sinon tu as le System.Web.Mail ( pour la framework 1.1 sinon avec le 2.0, le namespace est System.Net.Mail si je ne me trompe pas ) par exemple ( vite fait, mal fait  :o  ):  
 

Code :
  1. MailMessage mail = new MailMessage();
  2.             mail.To = "gfgdf@fdsfdsfsd.fr";
  3.             mail.Subject = "test lalaop";
  4.             mail.From = "liliila@lala.fr";
  5.             mail.Attachments.Add(new MailAttachment(@"c:\\test.txt" ));
  6.             SmtpMail.SmtpServer = "smtp.wanadoo.fr";
  7.             SmtpMail.Send(mail);


 
Si j'ai dis une connerie merci de rectifier :P

n°1085213
Gaxx
Posté le 16-05-2005 à 11:24:15  profilanswer
 

BoumboMagic => Je vais y jeter un oeil, merci.
 
Pour le problème du document Word, j'ai décidé de ne plus passer par un fichier. Le texte sera saisi dans l'interface de mon application. Tant pis pour la mise en forme.
 
Et donc l'utilisation de Outlook semble plus judicieuse pour l'insertion du logo de ma boite et quelques fioritures qui se trouveront dans mon modèle.
 
 
 
Merci pour toutes vos réponses.  :jap:

n°1301834
LowLow
HFR since 2001
Posté le 09-02-2006 à 10:27:19  profilanswer
 

Bon je déterre un peu ce truc mais c'est parce que Google m'a envoyé ici...
Pour envoyer un mail tout con (sans pièce jointe et en texte) à partir d'une appli c# en utilisant le client mail par défaut, il suffit de faire un truc comme ça :

Code :
  1. //Envoie un mail avec le client par défaut
  2. public static void sendMail_default_client(MailMessage mymail)
  3. {
  4. string command = String.Empty;
  5. //Construction de la ligne de commande
  6. if (mymail.To.Length > 0)
  7.  command = command + "mailto:" + mymail.To;
  8. else
  9.  throw new Exception("Pas de destinataire!" );
  10. command = command + "?Subject=" + mymail.Subject;
  11. command = command + "&Body=" + mymail.Body;
  12. //(On peut rajouter CC, etc)
  13. //Execution de la ligne de commande
  14.         System.Diagnostics.Process.Start(command);
  15. }


Le tout étant de créer la commande "mailto:toto@wanadoo.fr?Subject=coucou&Body=Comment tu vas"


Message édité par LowLow le 09-02-2006 à 10:29:48
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  créer un mail par une ligne de code C# [résolu]

 

Sujets relatifs
Créer un site pour son clanMessage d'erreur - requete SQL (resolu)
Comment sortir d'une fonction avant sa fin "normale" ... [Resolu][VS] [Install] Creer un install de driver
Transformer du code VBA en VB et Userform en Formtransmission de plusieurs variable par l'url
Probleme de saut de ligne[JAVA/Résolu] problème de rafraichissement avec une image ...
Devis pour code CSS et PHP .[RESOLU]Problème résultat requête MySQL
Plus de sujets relatifs à : créer un mail par une ligne de code C# [résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR