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 :

[VB.NET2.0] Envoi mail : Pièce jointe et client de messagerie par défaut


Sujet :

Windows Forms

  1. #1
    Membre actif

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Mai 2003
    Messages : 73
    Points : 218
    Points
    218
    Par défaut [VB.NET2.0] Envoi mail : Pièce jointe et client de messagerie par défaut
    Bonjour,

    Je cherche a envoyer un email avec une pièce jointe et par le client de messagerie par défaut de l'utilisateur, sahant que l'utilisateur peut très bien utiliser OE, Outlook, Thunderbird, IncrediMail ou autre...

    C'est à dire que l'envoi du mail est pret à être envoyé par l'utilisateur. Il peut rajouter le corps de son message par son logiciel de messagerie.
    Adobe Reader utilise ce principe : lorsqu'on clique sur le bouton "Envoyer par messagerie" de la barre d'outils, c'est exactement la même chose que je souhaite faire.

    J'ai regardé la page developpez sur l'envoi et la réception d'email mais l'envoi du mail se fait en précisant les smtp et identification et l'email part de suite.

    Avez-vous une info là dessus ?

    Merci.

  2. #2
    Membre actif

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Mai 2003
    Messages : 73
    Points : 218
    Points
    218
    Par défaut
    vraiment rien, pas une idée ?

  3. #3
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Diagnostics.Process.Start("mailto:monmail@examples.com");
    Je sais que dans la syntaxe du mailto on peut préciser un sujet et un corps d'email alors cherche sur google ça te dira sûrement comment préciser une pièce jointe.

    PS : Apparamment Mailto ne supporte pas les pièces jointes et je remarque que Adobe Reader utilise MAPI pour le faire...
    Une recherche "MAPI" sur google t'en apprendra sûrement plus

  4. #4
    Membre actif

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Mai 2003
    Messages : 73
    Points : 218
    Points
    218
    Par défaut
    J'ai rechercher avec MAPI, mais je ne trouve pas le moyen d'envoyer le mail par le client de messagerie par défaut.

    J'ai rechercher aussi par des composants payant, mais apparament ils envoyent tous le mail par SMTP...

  5. #5
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Je ne sais pas si ça peut aider mais dans NetXP est inclue une library MAPI (je suis tombé dessus par hasard) :
    Librairies Included in NetXP.

  6. #6
    Membre actif

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Mai 2003
    Messages : 73
    Points : 218
    Points
    218
    Par défaut
    Merci DeusXL, je ne comprends pas trop le fonctionnement (référence de cette classe), mais je fais des tests...

  7. #7
    Membre actif

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Mai 2003
    Messages : 73
    Points : 218
    Points
    218
    Par défaut
    J'ai réussi avec VB 6 et l'Active X "Microsoft MAPI Controls 6.0" (MSMAPI32.OCX) avec ce code VB 6 (après avoir inséré MAPISession et MAPIMessage) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    MAPISession1.SignOn
        With MAPIMessages1
            .SessionID = MAPISession1.SessionID
            .Compose
            .RecipDisplayName = "daner06@yahoo.fr"  'Destinataire
            .MsgSubject = "Un petit bonjour"        'Objet
            .MsgNoteText = "Salut."                 'Texte
     
            .AttachmentPathName = "C:\Installer.log"
            .AttachmentName = "La pièce jointe"
     
            .Send True
        End With
        MAPISession1.SignOff

    Lorsque j'essaye de mettre cette Active X dans les références de mon projet VB.NET, j'ai le message d'erreur suivant :

    Une référence à 'C:\Documents....\MSMAPI32.OCX' n'a pas pu être ajoutée. Assurez-vous que le fichier est accessible et qu'il s'agit d'un assembly valide ou d'un composant COM.
    Je ne comprends pas le message d'erreur, c'est un Active X comme les autres, non ?

    Bon, je me suis retourné vers CDO mais là je ne trouve pas la méthode Compose comme je l'avais avec MAPI Controls 6.0.

    Avez-vous une idée ?

    Merci.

  8. #8
    Membre actif

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Mai 2003
    Messages : 73
    Points : 218
    Points
    218
    Par défaut
    J'ai trouvé !

    En fait j'ai mis la dll par référence et non par la barre d'outils.

    Je me suis inspiré aussi de un article sur code project Importing ActiveX Controls (2ème solutions sans utiliser aximp).

    Dont voici le code C# :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    MAPISession objSession = new MAPISession();
    MAPIMessages objMsg = new MAPIMessages();
    objSession.SignOn();
    objMsg.SessionID = objSession.SessionID;
    objMsg.Compose();
    objMsg.MsgSubject = "MAPI TEST";
    objMsg.MsgNoteText = "The message body";
    objMsg.RecipAddress = "mercy_gp@dell.com";
    objMsg.ResolveName();
    objMsg.Send(null);
    objSession.SignOff();
    ...que j'ai traduit en VB.NET :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            Me.AxMAPISession1.SignOn()
            With Me.AxMAPIMessages1
                .SessionID = Me.AxMAPISession1.SessionID
                .Compose()
                .RecipDisplayName = "accueil@rapidgest.fr" ' A
                .MsgSubject = "Test" ' Sujet
                .MsgNoteText = "coucou" ' Contenu du message
     
                .AttachmentPathName = "C:\toto.txt"
                .AttachmentName = "Pièce jointe"
     
                .Send(True)
            End With
            Me.AxMAPISession1.SignOff()

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

Discussions similaires

  1. Envoi plusieurs pièces jointes dans mail
    Par baime dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 10/03/2009, 13h59
  2. Envoyer un Mail avec le client de messagerie par défaut
    Par Ggamer dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 30/12/2008, 23h20
  3. [Mail] envoi de mail : pièce jointe vide
    Par renaudjuif dans le forum Langage
    Réponses: 4
    Dernier message: 05/08/2008, 18h11
  4. [Mail] Envoi de pièces jointes sur email
    Par Atrahazis dans le forum Langage
    Réponses: 3
    Dernier message: 18/10/2007, 14h35
  5. [Mail] Envoi/Reception compte mail (pièce jointe)
    Par Curby dans le forum Langage
    Réponses: 1
    Dernier message: 27/03/2007, 20h54

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