Accueil > Forum > > > > Mail C# Reprise sur erreur
Mail C# Reprise sur erreur
mardi 2 juin 2009 à 12:19:05 |
Mail C# Reprise sur erreur

chinois0013
|
Bonjour, J'ai écrit un petit executable en c# (voir ci-dessous) qui me permet d'envoyer des analyses à ma direction qutodiennement via un batch planifié. Tout fonctionne correctement, mais... Lorsque la connexion internet tombe ou bien le serveur de mail est down, les envois ne fonctionnent pas. Et du coup rien n'est envoyé. Comment puis je faire pour que l'envoi se fasse plus tard si la connexion ou le serveur de mail ne fonctionne pas ? Merci d'avance using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Mail; namespace EnvoiAnalyseMail { class Program { static void Main(string[] args) { string Destinataire = ""; string Mois = DateTime.Today.Month.ToString(); string Jour = DateTime.Today.Day.ToString(); if (int.Parse(Mois) < 10) Mois = "0" + Mois; if (int.Parse(Jour) < 10) Jour = "0" + Jour; string Date = DateTime.Today.Year.ToString() + Mois + Jour; bool Dest=false; List Rapports = new List(); int i = 0; foreach (string s in args) { if (s.Equals("-")) { Dest = true; } else { if (Dest.Equals(true)) { if (Destinataire.Equals("")) Destinataire = s; else Destinataire = Destinataire + "," + s; } else { Rapports.Add(s); i++; } } } EnvoieMail(Rapports, Destinataire,Date); } private static void EnvoieMail(List Rapports, string Destinataire,string date) { System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage(); foreach (string s in Rapports) { Attachment PieceJointe = new Attachment(s+"-"+date+".PDF"); email.Attachments.Add(PieceJointe); } email.From = new MailAddress("informatique@texto-france.fr"); email.To.Add(Destinataire); email.Subject = "Analyses Quotidiennes"; email.Body = "Bonjour, \nVoici les analyses quotidiennes.\nCordialement,\n\nLe Service Informatique"; SmtpClient client = new SmtpClient("smtp.fr.oleane.com"); client.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials; client.Send(email); } } }
|
|
mardi 2 juin 2009 à 12:20:24 |
Re : Mail C# Reprise sur erreur
|
mardi 2 juin 2009 à 15:39:38 |
Re : Mail C# Reprise sur erreur

krimog
|
Salut. Une solution simple, c'est de faire ton client.Send(email); dans un try / catch. Puis, dans ce catch, tu sauvegardes, dans un fichier à part, les données de ton email. Et au lancement de ton programme, tu regardes si ces fichiers existent, tu récupères ses données, tu envoies ton mail, et si l'envoi a fonctionné, tu supprime les fichier.
Donc pour résumer (très simplifié) :
foreach(fichier d'email non envoyé) { try { création d'un nouvel email à partir des données du fichier envoi de l'email suppression du fichier }catch { } }
création d'un nouvel email à partir des données de la journée try { envoi de l'email }catch{ création d'un fichier à partir du contenu de ton email }
Krimog : while (!(succeed = try())) ; - NON, "LE BAR" n'est PAS un langage de programmation ! -
|
|
Cette discussion est classée dans : mail, string, system, email, destinataire
Répondre à ce message
Sujets en rapport avec ce message
[c#]WinForms pb envoi mail smtp [ par ludo27600 ]
bonjour,j'essaie d'envoyer un mail stmp en WinForms.Je ne retrouve pas les objets System.Web.Mail en WinForms (que j'ai utilisés en WebForms); J'arriv
[Debutant] Classes [ par shadow1779 ]
Bonsoir,j'ai décidé de me mettre au C# etant donné que cela est fiable et assez proche du VB.NET , langage avec lequel je commence a etre assez initié
affichage des chaines dans un panel [ par fayrous ]
Salut, dans mon forme j'ai un bouton . private void button4_Click(object sender, EventArgs e) { if (radioButton1.Checked) { panel
Sql. c#. formulaire [ par Kleino ]
Bjr á ts,et bonne fete de paques en avance.j´essaye de comprendre comment pourrais je selectioner les données d´une base de donnés sql et introduire d
Connexion a mysql sur easyPHP en C# [ par touffik37 ]
Bonjour, Je suis un étudiant de BTS IRIS et je suis en plein projet de BTS et je dois me connecter à une base qui sera sur easyPHP donc je voudrai sav
[Mail] Champs CC et Bcc récalcitrants [ par Ikki2504 ]
Bonjour à tous,Ma question est probablement stupide, mais ça fait des heures que je bute là dessus, et la msdn ainsi que la bonne douzaine de forums v
Probleme C# BDD OutOfRange [ par KrqcS ]
Bonjour à vous, j'essaye désesperemment de mettre le contenu de la colonne d'une table dans une combobox mais pas moyen. [code=cs]OleDbConnection Cal
HyperTerminal pour Windows CE [ par chindji ]
Bonjour! Je suis un débutant en C# et Windows CE. Actuellement je programme un HyperTerminal pour Windows CE . Mais je ne comprends pas grand chose.
importer un fichier .cvs dans une data table [ par chalmyl ]
Salut!! J'essai de loader un fichier .csv dans une data table. Je suis très nouvelle à tout ceci. J'ai pris un exemple sur ce site mais ça ne fonct
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|