Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sauvegarder mail sur disque si erreur d'envoi (VS2005 VB.NET )

7 réponses
Avatar
Didier
Bonjour

Tout est dit dans le titre. J'ai un bout de code qui marche fort bien.


Dim myMail As New System.Net.Mail.MailMessage(strFrom, strTo, strSubject, strBody)
If strCopy IsNot Nothing Then myMail.CC.Add(strCopy)
If strBcc IsNot Nothing Then myMail.Bcc.Add(strBcc)
For i As Integer = 1 To Attachments.Count
Dim AddAttach As New Attachment(CStr(Attachments.Item(i)))
myMail.Attachments.Add(AddAttach)
Next

Dim SMTPCli As New SmtpClient
SMTPCli.Host = strSMTP
If StrLogin.Length > 0 Then SMTPCli.Credentials = New NetworkCredential(StrLogin, StrPass)

SMTPCli.Send(Msg)

Mon probleme est que faire si j'ai une erreur sur l'instruction SMTPCli.Send(msg)
Bien sur je peux faire un Try.....Catch mais je ne vais pas boucler indefiniment.
Et si je sors mon message est perdu.

Malheureusement M$ n'a pas prévu de méthode myMail.SaveToDisk() et son pendant myMail.LoadToDisk()
ou du moins pas à ma connaissance.


Merci de votre aide
Didier

7 réponses

Avatar
Remi THOMAS
"Didier" wrote in message
news:O$

Mon probleme est que faire si j'ai une erreur sur l'instruction
SMTPCli.Send(msg)
Bien sur je peux faire un Try.....Catch mais je ne vais pas boucler
indefiniment.
Et si je sors mon message est perdu.

Malheureusement M$ n'a pas prévu de méthode myMail.SaveToDisk() et son
pendant myMail.LoadToDisk()
ou du moins pas à ma connaissance.




Bonjour,
Non car cela devient très compliqué de gérer les mails qui ne partent pas et
il faut laisser faire le serveur SMTP.
Tu dois partir du principe que ton SMTP est toujours disponible, par exemple
avec un serveur local.
Windows 2003 offre un serveur SMTP, le sais-tu?

Et la serilisation binaire ne fonctionne pas?
http://www.devx.com/vb2themax/Tip/19457?type=kbArticle&trk=MSCP

Rémi
Avatar
Didier
Bonjour

Remi THOMAS a écrit :
Bonjour,
Non car cela devient très compliqué de gérer les mails qui ne partent
pas et il faut laisser faire le serveur SMTP.
Tu dois partir du principe que ton SMTP est toujours disponible, par
exemple avec un serveur local.
Windows 2003 offre un serveur SMTP, le sais-tu?




Oui mais qu'est ce que cela apporte à mon problème ?
Je ne vois pas en quoi cela peut m'aider à solutionner le problème des mails qui ne partent pas ?
Pour l'instant j'utilise un compte mail hebergé chez Oléane auquel j'accede directement par un objet SMTPClient.


Et la serilisation binaire ne fonctionne pas?
http://www.devx.com/vb2themax/Tip/19457?type=kbArticle&trk=MSCP



Hélas non car l'objet mail defini dans le Framework 2 n'est semble-t-il pas sérialisable.
Je crois avoir vu quelque part une méthode pour serialiser des objets qui n'ont pas été defini comme serialisable
mais j'avoue ne rien avoir compris.
Si quelqu'un sait comment serialiser un objet mail je suis preneur.


Didier
Avatar
Patrice Manac'h
Bonjour,

de plus, ce relais SMTP s'occupe de la partie sauvegarde sur disque et
réessaie..

Cdt,

P. Manac'h
MCS France

"Remi THOMAS" wrote in message
news:%
"Didier" wrote in message
news:O$

Mon probleme est que faire si j'ai une erreur sur l'instruction
SMTPCli.Send(msg)
Bien sur je peux faire un Try.....Catch mais je ne vais pas boucler
indefiniment.
Et si je sors mon message est perdu.

Malheureusement M$ n'a pas prévu de méthode myMail.SaveToDisk() et son
pendant myMail.LoadToDisk()
ou du moins pas à ma connaissance.




Bonjour,
Non car cela devient très compliqué de gérer les mails qui ne partent pas
et il faut laisser faire le serveur SMTP.
Tu dois partir du principe que ton SMTP est toujours disponible, par
exemple avec un serveur local.
Windows 2003 offre un serveur SMTP, le sais-tu?

Et la serilisation binaire ne fonctionne pas?
http://www.devx.com/vb2themax/Tip/19457?type=kbArticle&trk=MSCP

Rémi


Avatar
TroXsA
Bonjour

Pourquoi ne pas faire un try comme tu le dit (ce n'est pas une boucle) et en
cas ou si ça plante a l'envois l'ecrire dans un fichier txt ou htm(l), avec
un timer tu teste la presence ou de l'existance du fichier toute les 2
minutes (par exemple) tu reli le fichier et tu refait un nouveau envois !
(ne pas oublier de detruire le fichier)

non ?

--


Cordialement,

Site : http://www.troxsa.info
Mail : http://cerbermail.com/?rIXgaw9Xsl


"Didier" a écrit dans le message de news:
O$
Bonjour

Tout est dit dans le titre. J'ai un bout de code qui marche fort bien.


Dim myMail As New System.Net.Mail.MailMessage(strFrom, strTo,
strSubject, strBody)
If strCopy IsNot Nothing Then myMail.CC.Add(strCopy)
If strBcc IsNot Nothing Then myMail.Bcc.Add(strBcc)
For i As Integer = 1 To Attachments.Count
Dim AddAttach As New Attachment(CStr(Attachments.Item(i)))
myMail.Attachments.Add(AddAttach)
Next

Dim SMTPCli As New SmtpClient
SMTPCli.Host = strSMTP
If StrLogin.Length > 0 Then SMTPCli.Credentials = New
NetworkCredential(StrLogin, StrPass)

SMTPCli.Send(Msg)

Mon probleme est que faire si j'ai une erreur sur l'instruction
SMTPCli.Send(msg)
Bien sur je peux faire un Try.....Catch mais je ne vais pas boucler
indefiniment.
Et si je sors mon message est perdu.

Malheureusement M$ n'a pas prévu de méthode myMail.SaveToDisk() et son
pendant myMail.LoadToDisk()
ou du moins pas à ma connaissance.


Merci de votre aide
Didier


Avatar
news.free.fr
Patrice Manac'h wrote:
Bonjour,

de plus, ce relais SMTP s'occupe de la partie sauvegarde sur disque et
réessaie..

Cdt,

P. Manac'h
MCS France

"Remi THOMAS" wrote in message
news:%

"Didier" wrote in message
news:O$


Mon probleme est que faire si j'ai une erreur sur l'instruction
SMTPCli.Send(msg)
Bien sur je peux faire un Try.....Catch mais je ne vais pas boucler
indefiniment.
Et si je sors mon message est perdu.

Malheureusement M$ n'a pas prévu de méthode myMail.SaveToDisk() et
son pendant myMail.LoadToDisk()
ou du moins pas à ma connaissance.




Bonjour,
Non car cela devient très compliqué de gérer les mails qui ne partent
pas et il faut laisser faire le serveur SMTP.
Tu dois partir du principe que ton SMTP est toujours disponible, par
exemple avec un serveur local.
Windows 2003 offre un serveur SMTP, le sais-tu?

Et la serilisation binaire ne fonctionne pas?
http://www.devx.com/vb2themax/Tip/19457?type=kbArticle&trk=MSCP

Rémi






la serialisation est une bonne solution mais il faut savoir quoi en
faire aprés. Une tache planifiée qui va collecter tout ca a intervale
régulier par exemple.
Avatar
Didier
Bonjour


news.free.fr a écrit :
Patrice Manac'h wrote:
la serialisation est une bonne solution mais il faut savoir quoi en
faire aprés. Une tache planifiée qui va collecter tout ca a intervale
régulier par exemple.





Pour cela pas de problême, j'ai déja fait ce genre de chose en Python.
En fait je bute sur le fait que l'objet mail ne soit pas serialisable.

J'ai essayer avec un serveur smtp local en relais mais je ne sais pas comment le configurer.
normalement mes paramêtres smtp sont du genre

smtp.fr.oleane.com
connexion authentifiée

mon mot de passe

si j'intercale un serveur smtp local comment le configurer pour qu'il relait correctement.
pour l'instant il me rejette tout.

Merci d'avance pour vos réponses
Didier
Avatar
Paul Bacelar
C'est quoi comme Server SMTP ?
--
Paul Bacelar
MVP VC++

"Didier" wrote in message
news:%
Bonjour


news.free.fr a écrit :
Patrice Manac'h wrote:
la serialisation est une bonne solution mais il faut savoir quoi en faire
aprés. Une tache planifiée qui va collecter tout ca a intervale régulier
par exemple.





Pour cela pas de problême, j'ai déja fait ce genre de chose en Python.
En fait je bute sur le fait que l'objet mail ne soit pas serialisable.

J'ai essayer avec un serveur smtp local en relais mais je ne sais pas
comment le configurer.
normalement mes paramêtres smtp sont du genre

smtp.fr.oleane.com
connexion authentifiée

mon mot de passe

si j'intercale un serveur smtp local comment le configurer pour qu'il
relait correctement.
pour l'instant il me rejette tout.

Merci d'avance pour vos réponses
Didier