IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Envoyer mail avec piece jointe par outlook


Sujet :

Windows Forms

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut Envoyer mail avec piece jointe par outlook
    Bonjour, je souhaiterai envoyer un mail avec une piece jointe en utilisant mon compte outlook sur mon pc.
    j'ai trouvé des exemples sur la FAQ mais cela ne fonctionne pas.?
    Quelqu'un aurait deja fait ca?
    Merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 754
    Points
    39 754
    Par défaut
    Citation Envoyé par skunkies Voir le message
    j'ai trouvé des exemples sur la FAQ mais cela ne fonctionne pas.?
    Explique ce qui ne fonctionne pas, tu as peut-être oublié quelque chose...
    Sinon, jette un coup d'oeil aux tutoriels sur Office :
    http://dotnet.developpez.com/cours/?...sharp#officecs

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    j'ai tenté les 2 methodes de la FAQ mais il ya des erreurs de compilations (meme en ajoutant les references)
    j'obtiens l'erreur impossible de convertir string en mailAdresss.
    la source :http://faqcsharp.developpez.com/inde...#netw_sendmail

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
       // Objet mail
        MailMessage msg = new MailMessage();
        // Expéditeur (obligatoire)
        msg.From = "expediteur@free.f";
        // destinataire (il en faut au moins un)
        msg.To = "atoi@free.fr;alui@free.fr";
        // destinataire(s) en copie (facultatif)
        msg.Cc = "encoreatoi@free.fr";
        // Texte du mail (facultatif)
        msg.Body = "Bonjour\n" +
                   "Ceci est le contenu du mail\n" +
                   "A bientôt";
        // Fichier joint si besoin (facultatif)
        msg.Attachments.Add(new MailAttachment(@"c:\fichierjoint.txt", MailEncoding.UUEncode));
        // Serveur SMTP
        SmtpMail.SmtpServer = "smtp.nerim.fr";
        // Envoi du mail
        SmtpMail.Send(msg);

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 754
    Points
    39 754
    Par défaut
    Ok, je crois deviner où est le problème...
    L'API d'envoi de mails a changé entre les versions 1.1 et 2.0 du framework. En 1.1, on utilisait le namespace System.Web.Mail, qui est maintenant obsolète. A partir de la version 2.0, on utilise le namespace System.Net.Mail.
    Dans la FAQ, il y a 2 versions du code, apparemment la 2e est supposée être le code pour la version 2.0 du framework, mais ça m'a l'air d'un copier/coller malencontreux... le code est le même que le premier !

    Voilà le code "corrigé" pour la V2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    //...
    using System.Net.Mail;
    //...
    [STAThread]
    static void Main(string[] args)
    {
        // Objet mail
        MailMessage msg = new MailMessage();
        // Expéditeur (obligatoire)
        msg.From = new MailAddress("expediteur@free.fr", "Jean Dupont");
        // destinataire (il en faut au moins un)
        msg.To.Add(new MailAddress("atoi@free.fr", "Marie Durand");
        msg.To.Add(new MailAddress("alui@free.fr", "Pierre Dubois");
        // destinataire(s) en copie (facultatif)
        msg.Cc.Add(new MailAddress("encoreatoi@free.fr", "Michel Dugenou");
        // Texte du mail (facultatif)
        msg.Body = "Bonjour\n" +
                   "Ceci est le contenu du mail\n" +
                   "A bientôt";
        // Fichier joint si besoin (facultatif)
        msg.Attachments.Add(new Attachment(@"c:\fichierjoint.txt");
        // Serveur SMTP
        SmtpClient client = new SmtpClient("smtp.nerim.fr");
        // Envoi du mail
        client.Send(msg);
    }
    (J'ai corrigé à la volée sans tester, donc il reste peut-être des erreurs...)


    Je vais de ce pas signaler l'erreur au responsable FAQ


    EDIT: par contre attention, cette méthode n'utilise pas Outlook... tu ne retrouveras pas le message envoyé dans ton compte Outlook. Si tu tiens à utiliser Outlook, jette un oeil au lien que j'ai donné dans mon post précédent.

    RE-EDIT: il y a un article un peu plus récent qui explique en détails l'envoi de mail en 2.0 :
    http://lgmorand.developpez.com/dotnet/mail/

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    je ne vois pas de doc qui parle de outlook dans le lien que tu m"as donné..

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    Salut Tomlev,
    apres avoir fouiné sur le net j'ai trouvé cette maniere de faire.

    Qu'en penses tu, j'ai testé ca marche mais ayant trop peu d'experience sur le sujet je ne suis pas apte a juger de la qualité du code.
    Ca peut servir a d'autre en tout cas.
    A+
    J'en profite pour demander comment trouve ton le repertoire "documents" sous vista (clé de registre...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    try
                {
                    // Create the Outlook application by using inline initialization.
                    Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application();
     
                    //Create the new message by using the simplest approach.
                    Microsoft.Office.Interop.Outlook.MailItem oMsg = (Microsoft.Office.Interop.Outlook.MailItem)oApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
     
                    //Add a recipient.
                    // TODO: Change the following recipient where appropriate.
                    Microsoft.Office.Interop.Outlook.Recipient oRecip = (Microsoft.Office.Interop.Outlook.Recipient)oMsg.Recipients.Add("xx@mail.com");
                    oRecip.Resolve();
     
                    //Set the basic properties.
                    oMsg.Subject = "[PJ]";
                    oMsg.Body = "Veuillez trouver ci joint le document demandé";
     
                    //Add an attachment.
                    // TODO: change file path where appropriate
                    String sSource = "C:\\text.txt";
                    String sDisplayName = "MyFirstAttachment";
                    int iPosition = (int)oMsg.Body.Length + 1;
                    int iAttachType = (int)Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue;
                    Microsoft.Office.Interop.Outlook.Attachment oAttach = oMsg.Attachments.Add(sSource, iAttachType, iPosition, sDisplayName);
     
                    // If you want to, display the message.
                    // oMsg.Display(true);  //modal
     
                    //Send the message.
                    oMsg.Save();
                    oMsg.Send();
     
                    //Explicitly release objects.
                    oRecip = null;
                    oAttach = null;
                    oMsg = null;
                    oApp = null;
                }
     
                   // Simple error handler.
                catch (Exception e1)
                {
                    Console.WriteLine("{0} Exception caught: ", e1);
                }
     
                //Default return value.
                //return 0;

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 754
    Points
    39 754
    Par défaut
    j'ai regardé très vite, mais ça me semble correct

    pour récupérer le répertoire "Mes documents" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string mesDocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    Citation Envoyé par skunkies Voir le message
    je ne vois pas de doc qui parle de outlook dans le lien que tu m"as donné..
    Cet article en parle :
    http://morpheus.developpez.com/vsto2/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Workflow pour envoyer mail avec piece jointe
    Par zeanlou dans le forum SAGE
    Réponses: 2
    Dernier message: 24/10/2013, 09h17
  2. envoyer des mails avec piece jointe / SAS v9.1
    Par franz2b dans le forum ODS et reporting
    Réponses: 1
    Dernier message: 03/05/2010, 21h37
  3. [Mail] Envoyer un mail avec piece jointe
    Par Seb33300 dans le forum Langage
    Réponses: 3
    Dernier message: 22/04/2009, 16h39
  4. [Mail] je veux envoyer un mail avec Piece Jointe en php
    Par hanafimohammed dans le forum Langage
    Réponses: 2
    Dernier message: 20/04/2007, 17h07
  5. envoi mail avec piece jointe fichier excel
    Par flogreg dans le forum ASP
    Réponses: 12
    Dernier message: 20/12/2004, 16h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo