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 :

Ouvrir client de messagerie avec le mail du destinataire pré-rempli


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 51
    Points : 32
    Points
    32
    Par défaut Ouvrir client de messagerie avec le mail du destinataire pré-rempli
    Bonjour tout le monde,

    Je débute en vb.net, et je n'arrive pas malgrès mes recherches a trouver le moyen d'ouvrir le client de messagerie par défaut (Thunderbird, outlook....) avec le mail du destinataire pré-rempli directement lors d'un click sur un LinkLabel.

    L'espace de nom System.web.mail fourni certaines fonctionnalités, mais étant donné que mon soft sera déployé "un peu partout", je ne peux pas connaitre certains attributs (comme le serveur smtp).

    J'ai aussi pensé a utiliser System.Diagnostics pour créer un processus et ainsi appeler l'exe du client de messagerie, mais dans ce cas, comment connaitre s'il utilise tel ou tel client, et comment lui passer le mail du destinataire ?

    Si vous voyez d'autres façons de faire ça, je suis tout ouï !
    Merci de vos réponses !

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    windows peut prendre le relais

    en effet en executant "mailto:blabla@domaine.com", windows va ouvrir le client de méssagerie par défaut du pc en mettant l'adresse en destinataire

    ce que tu cherches donc ^^


    je crois qu'il est aussi possible de mettre un sujet ou de préremplir le contenu aussi


    pour executer quelque chose 2 solutions, une moche et simple
    shell
    une autre mieux faire un new process et faire .start

    dans les 2 cas tu peux mettre ce que tu veux, soit le chemin d'un exe, soit le chemin d'un fichier qui sera ouvert avec l'éditeur par défaut (.doc si word est là il s'ouvre)
    une url et c'est le site qui s'ouvre
    etc...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    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 749
    Points
    39 749
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim command as String = String.Format("mailto:{0}?subject={1}&body={2}", destinataire, sujet, corpsDuMessage)
    Process.Start(command)
    Attention, si le corps du message contient des retours à la ligne (ce qui est probable) il faut les remplacer par "%0A" (code ASCII du caractère vbLf)

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 51
    Points : 32
    Points
    32
    Par défaut
    Impec, Merci a vous deux !

  5. #5
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 64
    Points : 50
    Points
    50
    Par défaut
    bonsoir,

    excusez moi pour le déterrage de topic, mais est-il possible d'ouvrir le client de messagerie par défaut en y ajoutant directement une pièce jointe avec cette méthode ?

    Merci d'avance !

  6. #6
    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 749
    Points
    39 749
    Par défaut
    Je crois que tu peux rajouter un paramètre attach :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim command as String = String.Format("mailto:{0}?subject={1}&body={2}&attach={3}", destinataire, sujet, corpsDuMessage, cheminPieceJointe)
    Process.Start(command)
    Mais c'est pas sûr que ça fonctionne avec tous les clients mails...

  7. #7
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 64
    Points : 50
    Points
    50
    Par défaut
    Ah tu m'as devancé, j'ai cherché mieux et j'ai trouvé le parametre attach.
    J'obtient donc la ligne suivante dans command :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "mailto: ?Subject= &Body= &Attach=C:\log.txt"
    cependant ça ne marche pas avec outlook 2003.

    Existe il une méthode alternative ? sachant que je ne fait pas de pages web ASP.NET mais un projet WindowsForm ?

    Merci d'avance !

  8. #8
    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 749
    Points
    39 749
    Par défaut
    Ben tu peux utiliser Visual Studio Tools for Office, mais ça marchera que pour Outlook...
    Sinon je vois pas trop

  9. #9
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 64
    Points : 50
    Points
    50
    Par défaut
    Je te remercie, mais je vais me débrouiller.

    Il est hors de question d'utiliser Visual Studio Tools for Office dans mon projet.

    Bonne journée !

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

Discussions similaires

  1. [XL-2007] Ouvrir fenêtre enregistrer sous avec nom fichier et chemin pré-rempli
    Par miliev83 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/07/2013, 14h46
  2. ouvrir mail dans client de messagerie
    Par mcc123 dans le forum VB.NET
    Réponses: 3
    Dernier message: 28/10/2010, 11h27
  3. developpement d'un client de messagerie avec J2EE
    Par boudhina dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 01/07/2010, 11h23
  4. 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
  5. client de messagerie - thunderbird avec hotmail
    Par cortex024 dans le forum Thunderbird
    Réponses: 17
    Dernier message: 30/03/2007, 13h38

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