none
Envoi email par le client RRS feed

  • Question

  • Bonjour,

    Dans un projet VB.NET, je cherche à envoyer un email par le client de messagerie par défaut de l'utilisateur, sans que l'utilisateur ait à saisir le nom du serveur smtp ni son mot de passe, sans passer par son logiciel de messagerie. C’est-à-dire comment récupérer l’adresse du server smtp, le login et mot de passe de messagerie pour exécuter directement un SMTPMAIL.SEND(MSG).

    Est ce possible ? merci


    Cordialement, vdom

    mercredi 10 avril 2013 12:01

Réponses

  • Je ne crois pas que la configuration SMTP d'un poste client soit récupérable sans le faire au cas par cas selon le client de messagerie installé sur le poste. Certains clients peuvent aussi avoir plusieurs comptes configurés. En soi, ce serait aussi un problème de sécurité (ce que vous faites serait exactement ce que ferais un programme de spam qui infecterait un PC cad envoyer des mails sans intervention de l'utilisateur) et pourra sans doute être bloqué par les anti-virus et autres mesures de sécurité. L'utilisateur pourrait aussi se contenter d'un webmail.

    En bref, si c'est faisable cela sera compliqué et fragile et il reste sans doute indispensable de prévoir une alternative.

    Je commencerais par voir comment procèdent d'autres logiciels comme Visual Studio Express, Avast etc... De mémoire, cela doit plutôt être qq chose comme lancer le client de messagerie avec un contenu par défaut (ce qui peut-être fait via mailto:) avec souvent (voire toujours) l'alternative de le faire sur un site web lancé depuis l'appli (et toujours éventuellement avec des valeurs par défaut).

    L'utilisateur peut-aussi se sentir plus en confiance de voir de visu les infos envoyées plutôt que de se trouver face à un soft plus "intrusif" (style si l'antivirus se déclenche, le soft pourrait même être considéré comme un cheval de Troie)...


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    • Marqué comme réponse Aurel Bera mardi 16 avril 2013 14:04
    vendredi 12 avril 2013 09:13
    Modérateur
  • Dans ce cas, ce n'est pas indiquée d'utiliser l'email. Par exemple je lis mon email sur mon portable dans l'explorateur, sans utiliser un client. Dans ce cas, l'appli ne va pas fonctionner.
    Si n'est pas une solution entreprise, ou toute le monde a un (et le même) client email, envoyez les informations sur un serveur (même ouvrir une page Web, pour saisir les infos).

    Cordialement,


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    • Marqué comme réponse Aurel Bera mardi 16 avril 2013 14:04
    vendredi 12 avril 2013 09:04
  • Voir par exemple http://www.dotnetperls.com/process-start pour lancer le navigateur par défaut sur un site web.

    On pourrait aussi utiliser http://msdn.microsoft.com/en-us/library/system.net.webclient.uploaddata.aspx pour "poster" des données vers un site web (mais peut-être autant montrer son site web).


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    • Marqué comme réponse vdom lundi 30 mars 2015 17:58
    samedi 13 avril 2013 16:37
    Modérateur

Toutes les réponses

  • Bonjour,

    Avec defaultCredentials=true, on doit pouvoir se passer de l'identifiant/mot de passe (et heureusement car pouvoir récupérer le mot de passe ne serait pas normal). Voir par exemple http://stackoverflow.com/questions/7244589/smtpclient-and-app-config-system-net-configuration

    Il doit être possible de récupérer le serveur SMTP mais la façon de faire va sans doute dépendre du client de messagerie et il est donc sans doute préférable de le détecter pour proposer une valeur par défaut mais de permettre à l'utilisateur de pouvoir le changer (ou le renseigner si le réglage voulu n'a pas été trouvé) à l'installation.

    Comprendre l'objectif pourrait aider à proposer une solution. Par exemple si c'est pour collecter des erreurs de fonctionnement de l'appli, il est aussi possible de poster les données vers un serveur web.


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    mercredi 10 avril 2013 14:23
    Modérateur
  • Bonjour

    Comme Patrice dit, c'est difficile de lire la config de plusieurs clients email pour envoyer des messages avec cette config.
    Ici je vois utile un webservice configuree avec un serveur SMTP et tous les clients qui se connecte à ce webservice  pour envoyer des emails. Comme ça, vous n'avez pas besoin de lire la config sur les clients, seulement configure le WebService.
    Mais, bien sur, ca depend sur ce que vous voulez faire.

    Cordialement,


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    vendredi 12 avril 2013 06:15
  • Bonjour,

    Il s'agit de l'envoi par le client d'une clé d'authentification pour activer son application. J'aimerais qu'il puisse le faire en saisissant son adresse email, son nom et en cliquant sur un bouton "envoi" et non en ouvrant son logiciel de messagerie. Il s'agit d'un projet en VS2010 et développé en visual basic.


    Cordialement, vdom

    vendredi 12 avril 2013 07:38
  • Dans ce cas, ce n'est pas indiquée d'utiliser l'email. Par exemple je lis mon email sur mon portable dans l'explorateur, sans utiliser un client. Dans ce cas, l'appli ne va pas fonctionner.
    Si n'est pas une solution entreprise, ou toute le monde a un (et le même) client email, envoyez les informations sur un serveur (même ouvrir une page Web, pour saisir les infos).

    Cordialement,


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    • Marqué comme réponse Aurel Bera mardi 16 avril 2013 14:04
    vendredi 12 avril 2013 09:04
  • Je ne crois pas que la configuration SMTP d'un poste client soit récupérable sans le faire au cas par cas selon le client de messagerie installé sur le poste. Certains clients peuvent aussi avoir plusieurs comptes configurés. En soi, ce serait aussi un problème de sécurité (ce que vous faites serait exactement ce que ferais un programme de spam qui infecterait un PC cad envoyer des mails sans intervention de l'utilisateur) et pourra sans doute être bloqué par les anti-virus et autres mesures de sécurité. L'utilisateur pourrait aussi se contenter d'un webmail.

    En bref, si c'est faisable cela sera compliqué et fragile et il reste sans doute indispensable de prévoir une alternative.

    Je commencerais par voir comment procèdent d'autres logiciels comme Visual Studio Express, Avast etc... De mémoire, cela doit plutôt être qq chose comme lancer le client de messagerie avec un contenu par défaut (ce qui peut-être fait via mailto:) avec souvent (voire toujours) l'alternative de le faire sur un site web lancé depuis l'appli (et toujours éventuellement avec des valeurs par défaut).

    L'utilisateur peut-aussi se sentir plus en confiance de voir de visu les infos envoyées plutôt que de se trouver face à un soft plus "intrusif" (style si l'antivirus se déclenche, le soft pourrait même être considéré comme un cheval de Troie)...


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    • Marqué comme réponse Aurel Bera mardi 16 avril 2013 14:04
    vendredi 12 avril 2013 09:13
    Modérateur
  • Merci pour les explications.

    Je vais donc m'orienter vers le lancement d'un site web depuis l'appli. Comment m'orienter pour le développement en WinForm/Visual Basic, un tutoriel ou des exemples ? 


    Cordialement, vdom

    vendredi 12 avril 2013 17:40
  • Voir par exemple http://www.dotnetperls.com/process-start pour lancer le navigateur par défaut sur un site web.

    On pourrait aussi utiliser http://msdn.microsoft.com/en-us/library/system.net.webclient.uploaddata.aspx pour "poster" des données vers un site web (mais peut-être autant montrer son site web).


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    • Marqué comme réponse vdom lundi 30 mars 2015 17:58
    samedi 13 avril 2013 16:37
    Modérateur