cs_Psyghoria
Messages postés23Date d'inscriptiondimanche 26 octobre 2008StatutMembreDernière intervention 9 mai 2010
-
8 janv. 2009 à 15:09
cs_Psyghoria
Messages postés23Date d'inscriptiondimanche 26 octobre 2008StatutMembreDernière intervention 9 mai 2010
-
8 janv. 2009 à 17:24
Bonjour,
Je suis donc en VB.net et je veux utiliser un mailto pour envoyer le contenu d'un fichier texte. J'arrive à insérer le contenu dans le corps de mon message mais il ne prend pas en compte la mise en page, en particulier les retours à la ligne du contenu de mon fichier texte, il me met tout à la suite, ce qui est particuliérement génant.
Donc je voudrais savoir si il y a un moyen d'intégrer le contenu exact d'un fichier ou alors si je peux insérer grace à une code des retours à ligne au moment de l'utilisation de mon texte.
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20118 8 janv. 2009 à 17:19
Salut,
Voici un code que j'ai bien commenté. Il te montrera comment envoyer un mail. L'avantage, c'est que tu peux envoyer un message au format HTML avec diverses options comme la priorité de l'email, recevoir un message si la remise de l'email a réussie ou échouée, ... etc
Dim objMessage As System.Net.Mail.MailMessage
Dim objAdrExp As System.Net.Mail.MailAddress
Dim objAdrRec As System.Net.Mail.MailAddress
Dim objSMTPClient As System.Net.Mail.SmtpClient
Try objMessage = New System.Net.Mail.MailMessage()
objAdrExp = New System.Net.Mail.MailAddress( "xxx@orange.fr" )
objAdrRec = New System.Net.Mail.MailAddress("xxx@gmail.com")
' ADRESSE MAIL DE L EXPEDITEUR
objMessage.From = objAdrExp
' ADRESSE MAIL DU DESTINATAIRE
objMessage.To.Add(objAdrRec)
' Sujet du message
objMessage.Subject = "Ceci est un test"
' Définit la priorité du message
objMessage.Priority = Net.Mail.MailPriority.High
' Définit la notification lors de la remise d'un message
objMessage.DeliveryNotificationOptions = Net.Mail.DeliveryNotificationOptions.OnFailure
' Autorise ou non le html dans le corps du message
objMessage.IsBodyHtml = True
' Définit le message dans le corps
'
permet d'aller à ligne en HTML
objMessage.Body = "Test
Test
Test"
' Client pour envoyer le mail par smtp
objSMTPClient = New System.Net.Mail.SmtpClient()
' Nom du Host, normalement smtp.FAI.fr
objSMTPClient.Host = "smtp.free.fr"
' Port à utiliser
objSMTPClient.Port = 25
' Envoi du mail
objSMTPClient.Send(objMessage)
MsgBox("L'email a été envoyé avec succès")
' En cas d'erreur
Catch ex As Exception
' Affiche la raison de l'échec de l'envoi du mail
MsgBox("Exception : " & ex.Message)
End Try
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 8 janv. 2009 à 15:19
Salut
Sans connaitre la méthode que tu utilises pour faire cet envoi, difficile de te dire où ça ne va pas.
Tes retours à la ligne sont-ils des Cr ou des CrLf ?
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Psyghoria
Messages postés23Date d'inscriptiondimanche 26 octobre 2008StatutMembreDernière intervention 9 mai 2010 8 janv. 2009 à 15:29
Merci de ta réponse.
Mon fichier texte est créé en dehors du code. Ensuite pour remplir le corps de email je lis le contenu du fichier texte,qui ici s'appelle mail.txt.
Voilà du code:
Dim monStreamReader As StreamReader = &_
New StreamReader(Server.MapPath("mail/mail.txt"))
Dim ligne As String = ""
Do
ligne = ligne & Chr(10) & monStreamReader.ReadLine
Loop Until monStreamReader.ReadLine Is Nothing
Dim command As String = String.Format("mailto:{0}?subject={1}&body={2}", &_ AdresseEmail, "Offre de travail", ligne)
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 8 janv. 2009 à 15:39
Euh ... Dans ta commande, je ne vois pas "Ligne" : Comment l'insères-tu dans le mail ?
Tu ne peux pas insérer un texte en ligne de commande pour deux raisons simples :
- Le fichier comporte des espaces qui sont interdits
Voir éventuelle traduction avec des fonction genre URLEncode qui vont transformer les caractères non normés en %20 par exemple pour l'espace ... (% suivi du code hexadémal du caractère)
- Une ligne de commande a des limites de taille (je ne sais pas combien, mais cela peut paraitre faible par rapport à la taille de ton fichier.
Il faut, à mon avis, que tu t'orientes vers les objets dédiés aux envois de mail, le mailto ne suffira pas dans ton cas, je le crains.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Psyghoria
Messages postés23Date d'inscriptiondimanche 26 octobre 2008StatutMembreDernière intervention 9 mai 2010 8 janv. 2009 à 15:50
"Ligne se trouve à la fin de ma commande quand je définis le mail.
Il ne veut rien savoir des chr(13) ou autres codes que tu m'as donné.
Mais c'est bien ce que je craignais. Je vais utiliser les objets. D'ailleurs c'est plus intéressant et ça évite l'obligation que l'utilisateur ai un outils de messagerie (on ne sait jamais), mais mon patron voulais que j'utilise ça.
Quoiqu'il en soit je te remercie pour ton aide et ton temps.