OVH Cloud OVH Cloud

Confirmer envoi d'un mail

8 réponses
Avatar
Niko
Bonjour,

Je voudrais utiliser la classe System.Web.Mail pour g=E9rer=20
l'envoi de mails pour l'oubli des mots de passes.
Une fois mon mail construit, j'utilise SmtpMail.Send
(myMail) pour l'envoyer.
Cette m=E9thode ne renvoit rien, et je voudrais savoir=20
comment est-ce que je peux savoir si le mail a =E9t=E9 envoy=E9=20
ou non ?
En fait, je voudrais savoir =E7a pour pouvoir afficher le=20
message de confirmation que le mail a bien =E9t=E9 envoy=E9.

Merci.

Niko

8 réponses

Avatar
Julien Bakmezdjian [MS]
Bonjour,

Il y a deux façons d'utiliser SmtpMail.

Soit en précisant le nom d'un serveur SMTP, en affectant la propriété Server
(ce peut-être localhost). Dans ce cas, une erreur sera générée lors de
l'exécution si le serveur spécifié est introuvable (adresse du serveur
incorrecte ou serveur HS). Cette erreur peut être capturée par un try/catch.
En revanche, si le serveur est joignable, tout se passe bien. Mais rien de
garantit que le mail sera bien remis : l'adresse du destinataire peut ne pas
exister. Dans ce cas, selon la configuration du serveur SMTP, le mail
reviendra à l'expéditeur au bout de quelques heures.

Si vous ne spécifiez pas de serveur à la classe SmtpMail, le serveur local
sera utilisé par défaut, mais sans passer par le protocole SMTP. En fait,
votre programme va créer un fichier .eml qui correspond au mail à envoyer et
placer ce fichier dans le dossier pickup du serveur IIS SMTP local. Dès que
le serveur IIS est en marche (c'est-à-dire immédiatement s'il n'est pas HS
pour une raison ou une autreà, il vérifie la présence de fichiers .eml dans
pickup pour les placer dans le dossier queue et de là les envoyer.
Dans ce second type d'utilisation, il n'y aura donc jamais d'erreur générée
lors de l'exécution, même si le serveur SMTP local est HS (sauf accès refusé
en écriture sur le dossier pickup pour le compte exécutant votre code). Une
méthode pour vérifier le départ du mail serait peut-être de vérifier la
présence de fichier dans pickup... (là encore, aucune réception garantie !).

Cordialement,

Julien

"Niko" a écrit dans le message de
news:3efb01c472eb$91bd2670$
Bonjour,

Je voudrais utiliser la classe System.Web.Mail pour gérer
l'envoi de mails pour l'oubli des mots de passes.
Une fois mon mail construit, j'utilise SmtpMail.Send
(myMail) pour l'envoyer.
Cette méthode ne renvoit rien, et je voudrais savoir
comment est-ce que je peux savoir si le mail a été envoyé
ou non ?
En fait, je voudrais savoir ça pour pouvoir afficher le
message de confirmation que le mail a bien été envoyé.

Merci.

Niko
Avatar
Niko
Merci beaucoup pour toutes ces précisions.
En fait, je me demandais comment je pourrais savoir si le
serveur smtp a un problème vuq ue la fonction send ne
renvoit rien et qu'en plus elle ne génère pas d'exception.
Dans ce cas, je spécifierai le nom de mon serveur smpt et
aussi le champ from du message, comme ça je pourrais
récupérer le mail en cas d'erreur.

Merci beaucoup pour votre aide.

Niko.

-----Message d'origine-----
Bonjour,

Il y a deux façons d'utiliser SmtpMail.

Soit en précisant le nom d'un serveur SMTP, en affectant


la propriété Server
(ce peut-être localhost). Dans ce cas, une erreur sera


générée lors de
l'exécution si le serveur spécifié est introuvable


(adresse du serveur
incorrecte ou serveur HS). Cette erreur peut être


capturée par un try/catch.
En revanche, si le serveur est joignable, tout se passe


bien. Mais rien de
garantit que le mail sera bien remis : l'adresse du


destinataire peut ne pas
exister. Dans ce cas, selon la configuration du serveur


SMTP, le mail
reviendra à l'expéditeur au bout de quelques heures.

Si vous ne spécifiez pas de serveur à la classe


SmtpMail, le serveur local
sera utilisé par défaut, mais sans passer par le


protocole SMTP. En fait,
votre programme va créer un fichier .eml qui correspond


au mail à envoyer et
placer ce fichier dans le dossier pickup du serveur IIS


SMTP local. Dès que
le serveur IIS est en marche (c'est-à-dire immédiatement


s'il n'est pas HS
pour une raison ou une autreà, il vérifie la présence de


fichiers .eml dans
pickup pour les placer dans le dossier queue et de là


les envoyer.
Dans ce second type d'utilisation, il n'y aura donc


jamais d'erreur générée
lors de l'exécution, même si le serveur SMTP local est


HS (sauf accès refusé
en écriture sur le dossier pickup pour le compte


exécutant votre code). Une
méthode pour vérifier le départ du mail serait peut-être


de vérifier la
présence de fichier dans pickup... (là encore, aucune


réception garantie !).

Cordialement,

Julien

"Niko" a écrit


dans le message de
news:3efb01c472eb$91bd2670$
Bonjour,

Je voudrais utiliser la classe System.Web.Mail pour gérer
l'envoi de mails pour l'oubli des mots de passes.
Une fois mon mail construit, j'utilise SmtpMail.Send
(myMail) pour l'envoyer.
Cette méthode ne renvoit rien, et je voudrais savoir
comment est-ce que je peux savoir si le mail a été envoyé
ou non ?
En fait, je voudrais savoir ça pour pouvoir afficher le
message de confirmation que le mail a bien été envoyé.

Merci.

Niko


.



Avatar
David Rousset [MS]
Bonjour,

Vous pouvez commencer par analyser le contenu du répertoire
"Inetpubmailroot" dans lequel le serveur SMTP va déposer les mails
destinés à être relayés vers un véritable serveur de messagerie.

Je vous invite notamment à analyser le répertoire suivant :
"InetpubmailrootBadmail"

Ensuite, il faudra se fier au protocole SMTP en cas de problème sur le
destinataire ou le routage du mail. Si un problème survient à ce niveau là,
un message sera envoyé vers l'adresse du champs "FROM:". Il vous faudra donc
monitorer cette boîte aux lettres.

Bon courage,
--
David Rousset
Microsoft France
--------------------

Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.
"Niko" a écrit dans le message de
news: 3f7101c472f1$f1e50760$
Merci beaucoup pour toutes ces précisions.
En fait, je me demandais comment je pourrais savoir si le
serveur smtp a un problème vuq ue la fonction send ne
renvoit rien et qu'en plus elle ne génère pas d'exception.
Dans ce cas, je spécifierai le nom de mon serveur smpt et
aussi le champ from du message, comme ça je pourrais
récupérer le mail en cas d'erreur.

Merci beaucoup pour votre aide.

Niko.

-----Message d'origine-----
Bonjour,

Il y a deux façons d'utiliser SmtpMail.

Soit en précisant le nom d'un serveur SMTP, en affectant


la propriété Server
(ce peut-être localhost). Dans ce cas, une erreur sera


générée lors de
l'exécution si le serveur spécifié est introuvable


(adresse du serveur
incorrecte ou serveur HS). Cette erreur peut être


capturée par un try/catch.
En revanche, si le serveur est joignable, tout se passe


bien. Mais rien de
garantit que le mail sera bien remis : l'adresse du


destinataire peut ne pas
exister. Dans ce cas, selon la configuration du serveur


SMTP, le mail
reviendra à l'expéditeur au bout de quelques heures.

Si vous ne spécifiez pas de serveur à la classe


SmtpMail, le serveur local
sera utilisé par défaut, mais sans passer par le


protocole SMTP. En fait,
votre programme va créer un fichier .eml qui correspond


au mail à envoyer et
placer ce fichier dans le dossier pickup du serveur IIS


SMTP local. Dès que
le serveur IIS est en marche (c'est-à-dire immédiatement


s'il n'est pas HS
pour une raison ou une autreà, il vérifie la présence de


fichiers .eml dans
pickup pour les placer dans le dossier queue et de là


les envoyer.
Dans ce second type d'utilisation, il n'y aura donc


jamais d'erreur générée
lors de l'exécution, même si le serveur SMTP local est


HS (sauf accès refusé
en écriture sur le dossier pickup pour le compte


exécutant votre code). Une
méthode pour vérifier le départ du mail serait peut-être


de vérifier la
présence de fichier dans pickup... (là encore, aucune


réception garantie !).

Cordialement,

Julien

"Niko" a écrit


dans le message de
news:3efb01c472eb$91bd2670$
Bonjour,

Je voudrais utiliser la classe System.Web.Mail pour gérer
l'envoi de mails pour l'oubli des mots de passes.
Une fois mon mail construit, j'utilise SmtpMail.Send
(myMail) pour l'envoyer.
Cette méthode ne renvoit rien, et je voudrais savoir
comment est-ce que je peux savoir si le mail a été envoyé
ou non ?
En fait, je voudrais savoir ça pour pouvoir afficher le
message de confirmation que le mail a bien été envoyé.

Merci.

Niko


.



Avatar
Niko
Merci pour toutes ces précisions.
Je ne savais pas du tout que les mails étaient déposés
dans un répertoire mailroot avant leur envoi.
Ces infos vont m'être très utiles pour réaliser les
tests...

Bonne journée

Niko

-----Message d'origine-----
Bonjour,

Vous pouvez commencer par analyser le contenu du


répertoire
"Inetpubmailroot" dans lequel le serveur SMTP va


déposer les mails
destinés à être relayés vers un véritable serveur de


messagerie.

Je vous invite notamment à analyser le répertoire


suivant :
"InetpubmailrootBadmail"

Ensuite, il faudra se fier au protocole SMTP en cas


de problème sur le
destinataire ou le routage du mail. Si un problème


survient à ce niveau là,
un message sera envoyé vers l'adresse du champs "FROM:".


Il vous faudra donc
monitorer cette boîte aux lettres.

Bon courage,
--
David Rousset
Microsoft France
--------------------

Merci de bien vouloir répondre à ce message dans le


newsgroup où il a été
posté. Je le consulte régulièrement.
"Niko" a écrit


dans le message de
news: 3f7101c472f1$f1e50760$
Merci beaucoup pour toutes ces précisions.
En fait, je me demandais comment je pourrais savoir si le
serveur smtp a un problème vuq ue la fonction send ne
renvoit rien et qu'en plus elle ne génère pas


d'exception.
Dans ce cas, je spécifierai le nom de mon serveur smpt et
aussi le champ from du message, comme ça je pourrais
récupérer le mail en cas d'erreur.

Merci beaucoup pour votre aide.

Niko.

-----Message d'origine-----
Bonjour,

Il y a deux façons d'utiliser SmtpMail.

Soit en précisant le nom d'un serveur SMTP, en affectant


la propriété Server
(ce peut-être localhost). Dans ce cas, une erreur sera


générée lors de
l'exécution si le serveur spécifié est introuvable


(adresse du serveur
incorrecte ou serveur HS). Cette erreur peut être


capturée par un try/catch.
En revanche, si le serveur est joignable, tout se passe


bien. Mais rien de
garantit que le mail sera bien remis : l'adresse du


destinataire peut ne pas
exister. Dans ce cas, selon la configuration du serveur


SMTP, le mail
reviendra à l'expéditeur au bout de quelques heures.

Si vous ne spécifiez pas de serveur à la classe


SmtpMail, le serveur local
sera utilisé par défaut, mais sans passer par le


protocole SMTP. En fait,
votre programme va créer un fichier .eml qui correspond


au mail à envoyer et
placer ce fichier dans le dossier pickup du serveur IIS


SMTP local. Dès que
le serveur IIS est en marche (c'est-à-dire immédiatement


s'il n'est pas HS
pour une raison ou une autreà, il vérifie la présence de


fichiers .eml dans
pickup pour les placer dans le dossier queue et de là


les envoyer.
Dans ce second type d'utilisation, il n'y aura donc


jamais d'erreur générée
lors de l'exécution, même si le serveur SMTP local est


HS (sauf accès refusé
en écriture sur le dossier pickup pour le compte


exécutant votre code). Une
méthode pour vérifier le départ du mail serait peut-être


de vérifier la
présence de fichier dans pickup... (là encore, aucune


réception garantie !).

Cordialement,

Julien

"Niko" a écrit


dans le message de
news:3efb01c472eb$91bd2670$
Bonjour,

Je voudrais utiliser la classe System.Web.Mail pour




gérer
l'envoi de mails pour l'oubli des mots de passes.
Une fois mon mail construit, j'utilise SmtpMail.Send
(myMail) pour l'envoyer.
Cette méthode ne renvoit rien, et je voudrais savoir
comment est-ce que je peux savoir si le mail a été




envoyé
ou non ?
En fait, je voudrais savoir ça pour pouvoir afficher le
message de confirmation que le mail a bien été envoyé.

Merci.

Niko


.





.



Avatar
Niko
En fait, je vais utiliser votre méthode finalement, et je
vais aller regarder dans le fichier
InetpubmailrootBadmail si le mail existe.
Mais je voudrais avoir une ptite précision : quel est le
nom du fichier que je dois rechercher ?
Autrement dit, lorsqu'un mail n'a pas pu être envoyé et
qu'il est stocké dans le fichier
InetpubmailrootBadmail, comment puis-je le
reconnaître ?

Merci.

Niko.

-----Message d'origine-----
Bonjour,

Vous pouvez commencer par analyser le contenu du


répertoire
"Inetpubmailroot" dans lequel le serveur SMTP va


déposer les mails
destinés à être relayés vers un véritable serveur de


messagerie.

Je vous invite notamment à analyser le répertoire


suivant :
"InetpubmailrootBadmail"

Ensuite, il faudra se fier au protocole SMTP en cas


de problème sur le
destinataire ou le routage du mail. Si un problème


survient à ce niveau là,
un message sera envoyé vers l'adresse du champs "FROM:".


Il vous faudra donc
monitorer cette boîte aux lettres.

Bon courage,
--
David Rousset
Microsoft France
--------------------

Merci de bien vouloir répondre à ce message dans le


newsgroup où il a été
posté. Je le consulte régulièrement.
"Niko" a écrit


dans le message de
news: 3f7101c472f1$f1e50760$
Merci beaucoup pour toutes ces précisions.
En fait, je me demandais comment je pourrais savoir si le
serveur smtp a un problème vuq ue la fonction send ne
renvoit rien et qu'en plus elle ne génère pas


d'exception.
Dans ce cas, je spécifierai le nom de mon serveur smpt et
aussi le champ from du message, comme ça je pourrais
récupérer le mail en cas d'erreur.

Merci beaucoup pour votre aide.

Niko.

-----Message d'origine-----
Bonjour,

Il y a deux façons d'utiliser SmtpMail.

Soit en précisant le nom d'un serveur SMTP, en affectant


la propriété Server
(ce peut-être localhost). Dans ce cas, une erreur sera


générée lors de
l'exécution si le serveur spécifié est introuvable


(adresse du serveur
incorrecte ou serveur HS). Cette erreur peut être


capturée par un try/catch.
En revanche, si le serveur est joignable, tout se passe


bien. Mais rien de
garantit que le mail sera bien remis : l'adresse du


destinataire peut ne pas
exister. Dans ce cas, selon la configuration du serveur


SMTP, le mail
reviendra à l'expéditeur au bout de quelques heures.

Si vous ne spécifiez pas de serveur à la classe


SmtpMail, le serveur local
sera utilisé par défaut, mais sans passer par le


protocole SMTP. En fait,
votre programme va créer un fichier .eml qui correspond


au mail à envoyer et
placer ce fichier dans le dossier pickup du serveur IIS


SMTP local. Dès que
le serveur IIS est en marche (c'est-à-dire immédiatement


s'il n'est pas HS
pour une raison ou une autreà, il vérifie la présence de


fichiers .eml dans
pickup pour les placer dans le dossier queue et de là


les envoyer.
Dans ce second type d'utilisation, il n'y aura donc


jamais d'erreur générée
lors de l'exécution, même si le serveur SMTP local est


HS (sauf accès refusé
en écriture sur le dossier pickup pour le compte


exécutant votre code). Une
méthode pour vérifier le départ du mail serait peut-être


de vérifier la
présence de fichier dans pickup... (là encore, aucune


réception garantie !).

Cordialement,

Julien

"Niko" a écrit


dans le message de
news:3efb01c472eb$91bd2670$
Bonjour,

Je voudrais utiliser la classe System.Web.Mail pour




gérer
l'envoi de mails pour l'oubli des mots de passes.
Une fois mon mail construit, j'utilise SmtpMail.Send
(myMail) pour l'envoyer.
Cette méthode ne renvoit rien, et je voudrais savoir
comment est-ce que je peux savoir si le mail a été




envoyé
ou non ?
En fait, je voudrais savoir ça pour pouvoir afficher le
message de confirmation que le mail a bien été envoyé.

Merci.

Niko


.





.



Avatar
Julien Bakmezdjian [MS]
Bonsoir,

Le fichier .eml contient le mail et ses propriétés au format texte (ouvrez
un fichier .eml avec le Notepad pour vous en convaincre).
En lisant ce fichier depuis votre code, vous pouvez retrouver les
informations que vous souhaitez.

Cordialement,

Julien


"Niko" a écrit dans le message de
news:431001c4732a$be0759f0$
En fait, je vais utiliser votre méthode finalement, et je
vais aller regarder dans le fichier
InetpubmailrootBadmail si le mail existe.
Mais je voudrais avoir une ptite précision : quel est le
nom du fichier que je dois rechercher ?
Autrement dit, lorsqu'un mail n'a pas pu être envoyé et
qu'il est stocké dans le fichier
InetpubmailrootBadmail, comment puis-je le
reconnaître ?

Merci.

Niko.

-----Message d'origine-----
Bonjour,

Vous pouvez commencer par analyser le contenu du


répertoire
"Inetpubmailroot" dans lequel le serveur SMTP va


déposer les mails
destinés à être relayés vers un véritable serveur de


messagerie.

Je vous invite notamment à analyser le répertoire


suivant :
"InetpubmailrootBadmail"

Ensuite, il faudra se fier au protocole SMTP en cas


de problème sur le
destinataire ou le routage du mail. Si un problème


survient à ce niveau là,
un message sera envoyé vers l'adresse du champs "FROM:".


Il vous faudra donc
monitorer cette boîte aux lettres.

Bon courage,
--
David Rousset
Microsoft France
--------------------

Merci de bien vouloir répondre à ce message dans le


newsgroup où il a été
posté. Je le consulte régulièrement.
"Niko" a écrit


dans le message de
news: 3f7101c472f1$f1e50760$
Merci beaucoup pour toutes ces précisions.
En fait, je me demandais comment je pourrais savoir si le
serveur smtp a un problème vuq ue la fonction send ne
renvoit rien et qu'en plus elle ne génère pas


d'exception.
Dans ce cas, je spécifierai le nom de mon serveur smpt et
aussi le champ from du message, comme ça je pourrais
récupérer le mail en cas d'erreur.

Merci beaucoup pour votre aide.

Niko.

-----Message d'origine-----
Bonjour,

Il y a deux façons d'utiliser SmtpMail.

Soit en précisant le nom d'un serveur SMTP, en affectant


la propriété Server
(ce peut-être localhost). Dans ce cas, une erreur sera


générée lors de
l'exécution si le serveur spécifié est introuvable


(adresse du serveur
incorrecte ou serveur HS). Cette erreur peut être


capturée par un try/catch.
En revanche, si le serveur est joignable, tout se passe


bien. Mais rien de
garantit que le mail sera bien remis : l'adresse du


destinataire peut ne pas
exister. Dans ce cas, selon la configuration du serveur


SMTP, le mail
reviendra à l'expéditeur au bout de quelques heures.

Si vous ne spécifiez pas de serveur à la classe


SmtpMail, le serveur local
sera utilisé par défaut, mais sans passer par le


protocole SMTP. En fait,
votre programme va créer un fichier .eml qui correspond


au mail à envoyer et
placer ce fichier dans le dossier pickup du serveur IIS


SMTP local. Dès que
le serveur IIS est en marche (c'est-à-dire immédiatement


s'il n'est pas HS
pour une raison ou une autreà, il vérifie la présence de


fichiers .eml dans
pickup pour les placer dans le dossier queue et de là


les envoyer.
Dans ce second type d'utilisation, il n'y aura donc


jamais d'erreur générée
lors de l'exécution, même si le serveur SMTP local est


HS (sauf accès refusé
en écriture sur le dossier pickup pour le compte


exécutant votre code). Une
méthode pour vérifier le départ du mail serait peut-être


de vérifier la
présence de fichier dans pickup... (là encore, aucune


réception garantie !).

Cordialement,

Julien

"Niko" a écrit


dans le message de
news:3efb01c472eb$91bd2670$
Bonjour,

Je voudrais utiliser la classe System.Web.Mail pour




gérer
l'envoi de mails pour l'oubli des mots de passes.
Une fois mon mail construit, j'utilise SmtpMail.Send
(myMail) pour l'envoyer.
Cette méthode ne renvoit rien, et je voudrais savoir
comment est-ce que je peux savoir si le mail a été




envoyé
ou non ?
En fait, je voudrais savoir ça pour pouvoir afficher le
message de confirmation que le mail a bien été envoyé.

Merci.

Niko


.





.



Avatar
Niko
Bonjour,

Merci pour les infos, je vais puvoir mieux orienter mes
recherches sur le sujet...

Niko

-----Message d'origine-----
Bonsoir,

Le fichier .eml contient le mail et ses propriétés au


format texte (ouvrez
un fichier .eml avec le Notepad pour vous en convaincre).
En lisant ce fichier depuis votre code, vous pouvez


retrouver les
informations que vous souhaitez.

Cordialement,

Julien


"Niko" a écrit


dans le message de
news:431001c4732a$be0759f0$
En fait, je vais utiliser votre méthode finalement, et je
vais aller regarder dans le fichier
InetpubmailrootBadmail si le mail existe.
Mais je voudrais avoir une ptite précision : quel est le
nom du fichier que je dois rechercher ?
Autrement dit, lorsqu'un mail n'a pas pu être envoyé et
qu'il est stocké dans le fichier
InetpubmailrootBadmail, comment puis-je le
reconnaître ?

Merci.

Niko.

-----Message d'origine-----
Bonjour,

Vous pouvez commencer par analyser le contenu du


répertoire
"Inetpubmailroot" dans lequel le serveur SMTP va


déposer les mails
destinés à être relayés vers un véritable serveur de


messagerie.

Je vous invite notamment à analyser le répertoire


suivant :
"InetpubmailrootBadmail"

Ensuite, il faudra se fier au protocole SMTP en cas


de problème sur le
destinataire ou le routage du mail. Si un problème


survient à ce niveau là,
un message sera envoyé vers l'adresse du champs "FROM:".


Il vous faudra donc
monitorer cette boîte aux lettres.

Bon courage,
--
David Rousset
Microsoft France
--------------------

Merci de bien vouloir répondre à ce message dans le


newsgroup où il a été
posté. Je le consulte régulièrement.
"Niko" a écrit


dans le message de
news: 3f7101c472f1$f1e50760$
Merci beaucoup pour toutes ces précisions.
En fait, je me demandais comment je pourrais savoir si




le
serveur smtp a un problème vuq ue la fonction send ne
renvoit rien et qu'en plus elle ne génère pas


d'exception.
Dans ce cas, je spécifierai le nom de mon serveur smpt




et
aussi le champ from du message, comme ça je pourrais
récupérer le mail en cas d'erreur.

Merci beaucoup pour votre aide.

Niko.

-----Message d'origine-----
Bonjour,

Il y a deux façons d'utiliser SmtpMail.

Soit en précisant le nom d'un serveur SMTP, en






affectant
la propriété Server
(ce peut-être localhost). Dans ce cas, une erreur sera


générée lors de
l'exécution si le serveur spécifié est introuvable


(adresse du serveur
incorrecte ou serveur HS). Cette erreur peut être


capturée par un try/catch.
En revanche, si le serveur est joignable, tout se passe


bien. Mais rien de
garantit que le mail sera bien remis : l'adresse du


destinataire peut ne pas
exister. Dans ce cas, selon la configuration du serveur


SMTP, le mail
reviendra à l'expéditeur au bout de quelques heures.

Si vous ne spécifiez pas de serveur à la classe


SmtpMail, le serveur local
sera utilisé par défaut, mais sans passer par le


protocole SMTP. En fait,
votre programme va créer un fichier .eml qui correspond


au mail à envoyer et
placer ce fichier dans le dossier pickup du serveur IIS


SMTP local. Dès que
le serveur IIS est en marche (c'est-à-dire






immédiatement
s'il n'est pas HS
pour une raison ou une autreà, il vérifie la présence






de
fichiers .eml dans
pickup pour les placer dans le dossier queue et de là


les envoyer.
Dans ce second type d'utilisation, il n'y aura donc


jamais d'erreur générée
lors de l'exécution, même si le serveur SMTP local est


HS (sauf accès refusé
en écriture sur le dossier pickup pour le compte


exécutant votre code). Une
méthode pour vérifier le départ du mail serait peut-






être
de vérifier la
présence de fichier dans pickup... (là encore, aucune


réception garantie !).

Cordialement,

Julien

"Niko" a écrit


dans le message de
news:3efb01c472eb$91bd2670$
Bonjour,

Je voudrais utiliser la classe System.Web.Mail pour




gérer
l'envoi de mails pour l'oubli des mots de passes.
Une fois mon mail construit, j'utilise SmtpMail.Send
(myMail) pour l'envoyer.
Cette méthode ne renvoit rien, et je voudrais savoir
comment est-ce que je peux savoir si le mail a été




envoyé
ou non ?
En fait, je voudrais savoir ça pour pouvoir afficher le
message de confirmation que le mail a bien été envoyé.

Merci.

Niko


.





.





.



Avatar
Kati
Apparemment la méthode smtp.send renvoit peut lever une
exception :

http://www.systemwebmail.net/faq/4.1.aspx

Bon courage

Kati

-----Message d'origine-----
Bonjour,

Merci pour les infos, je vais puvoir mieux orienter mes
recherches sur le sujet...

Niko

-----Message d'origine-----
Bonsoir,

Le fichier .eml contient le mail et ses propriétés au


format texte (ouvrez
un fichier .eml avec le Notepad pour vous en




convaincre).
En lisant ce fichier depuis votre code, vous pouvez


retrouver les
informations que vous souhaitez.

Cordialement,

Julien


"Niko" a écrit


dans le message de
news:431001c4732a$be0759f0$
En fait, je vais utiliser votre méthode finalement, et




je
vais aller regarder dans le fichier
InetpubmailrootBadmail si le mail existe.
Mais je voudrais avoir une ptite précision : quel est le
nom du fichier que je dois rechercher ?
Autrement dit, lorsqu'un mail n'a pas pu être envoyé et
qu'il est stocké dans le fichier
InetpubmailrootBadmail, comment puis-je le
reconnaître ?

Merci.

Niko.

-----Message d'origine-----
Bonjour,

Vous pouvez commencer par analyser le contenu du


répertoire
"Inetpubmailroot" dans lequel le serveur SMTP va


déposer les mails
destinés à être relayés vers un véritable serveur de


messagerie.

Je vous invite notamment à analyser le répertoire


suivant :
"InetpubmailrootBadmail"

Ensuite, il faudra se fier au protocole SMTP en cas


de problème sur le
destinataire ou le routage du mail. Si un problème


survient à ce niveau là,
un message sera envoyé vers l'adresse du






champs "FROM:".
Il vous faudra donc
monitorer cette boîte aux lettres.

Bon courage,
--
David Rousset
Microsoft France
--------------------

Merci de bien vouloir répondre à ce message dans le


newsgroup où il a été
posté. Je le consulte régulièrement.
"Niko" a écrit


dans le message de
news: 3f7101c472f1$f1e50760$
Merci beaucoup pour toutes ces précisions.
En fait, je me demandais comment je pourrais savoir si




le
serveur smtp a un problème vuq ue la fonction send ne
renvoit rien et qu'en plus elle ne génère pas


d'exception.
Dans ce cas, je spécifierai le nom de mon serveur smpt




et
aussi le champ from du message, comme ça je pourrais
récupérer le mail en cas d'erreur.

Merci beaucoup pour votre aide.

Niko.

-----Message d'origine-----
Bonjour,

Il y a deux façons d'utiliser SmtpMail.

Soit en précisant le nom d'un serveur SMTP, en






affectant
la propriété Server
(ce peut-être localhost). Dans ce cas, une erreur sera


générée lors de
l'exécution si le serveur spécifié est introuvable


(adresse du serveur
incorrecte ou serveur HS). Cette erreur peut être


capturée par un try/catch.
En revanche, si le serveur est joignable, tout se








passe
bien. Mais rien de
garantit que le mail sera bien remis : l'adresse du


destinataire peut ne pas
exister. Dans ce cas, selon la configuration du








serveur
SMTP, le mail
reviendra à l'expéditeur au bout de quelques heures.

Si vous ne spécifiez pas de serveur à la classe


SmtpMail, le serveur local
sera utilisé par défaut, mais sans passer par le


protocole SMTP. En fait,
votre programme va créer un fichier .eml qui








correspond
au mail à envoyer et
placer ce fichier dans le dossier pickup du serveur








IIS
SMTP local. Dès que
le serveur IIS est en marche (c'est-à-dire






immédiatement
s'il n'est pas HS
pour une raison ou une autreà, il vérifie la présence






de
fichiers .eml dans
pickup pour les placer dans le dossier queue et de là


les envoyer.
Dans ce second type d'utilisation, il n'y aura donc


jamais d'erreur générée
lors de l'exécution, même si le serveur SMTP local est


HS (sauf accès refusé
en écriture sur le dossier pickup pour le compte


exécutant votre code). Une
méthode pour vérifier le départ du mail serait peut-






être
de vérifier la
présence de fichier dans pickup... (là encore, aucune


réception garantie !).

Cordialement,

Julien

"Niko" a écrit


dans le message de
news:3efb01c472eb$91bd2670$
Bonjour,

Je voudrais utiliser la classe System.Web.Mail pour




gérer
l'envoi de mails pour l'oubli des mots de passes.
Une fois mon mail construit, j'utilise SmtpMail.Send
(myMail) pour l'envoyer.
Cette méthode ne renvoit rien, et je voudrais savoir
comment est-ce que je peux savoir si le mail a été




envoyé
ou non ?
En fait, je voudrais savoir ça pour pouvoir afficher








le
message de confirmation que le mail a bien été envoyé.

Merci.

Niko


.





.





.



.