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

ASP.NET Discussion :

récupérer le SMTP status après l'envoi d'un mail


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut récupérer le SMTP status après l'envoi d'un mail
    Salut à tous, est-il possible de récupérer le SMTP Delivery status après un envoi de mail ? par exemple, si le destinataire n'est pas trouvé, si l'adresse est incorrecte, etc...

    Pour cette question, je ne souhaite pas fair appel à un composant / une dll externe au framework .net (quelque soit la version de celui ci)

    bye
    Nico

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Citation Envoyé par Nicopilami Voir le message
    Salut à tous, est-il possible de récupérer le SMTP Delivery status après un envoi de mail ? par exemple, si le destinataire n'est pas trouvé, si l'adresse est incorrecte, etc...

    Pour cette question, je ne souhaite pas fair appel à un composant / une dll externe au framework .net (quelque soit la version de celui ci)

    bye
    Nico
    Tu dois passer par le fonction de CallBack lors de l'envoi:

    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
     
     
    smtp.SendCompleted += SendCompletedCallback;
    smtp.SendAsync(mail);
     
    private void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
            {
                if (e.Cancelled)
                {
                    // Envoi annulé
                }
                if (e.Error != null)
                {
                    // Envoi en erreur
                }
                else
                {
                    // Envoi réussi
                }
            }

  3. #3
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    cool, effectivement ca fonctionne lorsque l'erreur vient du fait que le serveur n'a pas été trouvé, ou des problemes de ce type;

    Par ailleurs, j'ai trouvé l'enumération DeliveryNotificationOptions de la classe System.Net.Mail.MailMessage qui fonctionne très bien: pour ceux qui ne connaissent pas ca permet de dire au serveur d'envoyer ou non des mails de notifications au sender pour informer de l'envoi (ou non) de message;

    En revanche je souhaiterais que le serveur me donne cette infos directement dans le code, sans passer par un retour de mail.
    Est-ce possible ?

    bye
    Nico

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    C'est pas qqpart dans les propriétés de AsyncCompletedEventArgs ?

  5. #5
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    apparemment non, car en fait il me donne "success" meme si l'utilisateur n'est pas trouvé. je pense qu'il me renvoit ca parce qu'il a envoyé la demande au serveur sans problème, mais en revanche, il a pas attendu la réponse du serveur APRES que celui ci ait réellement essayé d'envoyer le message

  6. #6
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Je crois que ce n'est tout simplement pas possible car l'envoi de mail est très désynchronisé. Les mails sont mis en file d'attente (la queue) du serveur SMTP. Les mails sont envoyés plus ou moins rapidement et on ne sait jamais à l'avance si le serveur destinataire acceptera de transmettre le message. On peut le constater dans le journal des évènements de Windows.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  7. #7
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    ok, merci, mais je vais quand même continuer de chercher... il doi bien y avoir un moyen de s'abonner à cet evenement "Message envoyé (ou non)" !

    je vous tiens au courant si je trouve ma réponse
    bye
    Nico

Discussions similaires

  1. [AC-2010] Perte du contrôle de mon formulaire Access après l'envoi d'un mail
    Par bigounet dans le forum Access
    Réponses: 4
    Dernier message: 17/11/2012, 19h09
  2. Réponses: 0
    Dernier message: 21/04/2011, 21h05
  3. Erreur SMTP lors de l'envoie d'un mail
    Par Sebastien14 dans le forum Langage
    Réponses: 2
    Dernier message: 03/02/2011, 15h09
  4. Réponses: 3
    Dernier message: 16/02/2007, 11h42
  5. Réponses: 4
    Dernier message: 22/11/2006, 13h07

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