Mailto [Résolu]

cs_Psyghoria 23 Messages postés dimanche 26 octobre 2008Date d'inscription 9 mai 2010 Dernière intervention - 8 janv. 2009 à 15:09 - Dernière réponse : cs_Psyghoria 23 Messages postés dimanche 26 octobre 2008Date d'inscription 9 mai 2010 Dernière intervention
- 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.
           
Afficher la suite 

Votre réponse

8 réponses

cs_fauve 661 Messages postés vendredi 2 décembre 2005Date d'inscription 23 mars 2011 Dernière intervention - 8 janv. 2009 à 17:19
+3
Utile
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




++

Fauve

<hr size ="2" width="100%" />
Pensez : Réponse Acceptée 
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_fauve
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 8 janv. 2009 à 15:19
0
Utile
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)
Commenter la réponse de cs_Jack
cs_Psyghoria 23 Messages postés dimanche 26 octobre 2008Date d'inscription 9 mai 2010 Dernière intervention - 8 janv. 2009 à 15:29
0
Utile
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)

 System.Diagnostics.Process.Start(command)
Commenter la réponse de cs_Psyghoria
cs_Psyghoria 23 Messages postés dimanche 26 octobre 2008Date d'inscription 9 mai 2010 Dernière intervention - 8 janv. 2009 à 15:30
0
Utile
le Chr(10) est un test d'insertion de retour à la ligne. Mais ça ne marche pas bien sur.
Commenter la réponse de cs_Psyghoria
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 8 janv. 2009 à 15:34
0
Utile
Re
Chr(10) = vbLf

Essaye avec :
vbCr = Chr(13)
vbCrLf = Chr(13) & Chr(10)
Commenter la réponse de cs_Jack
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 8 janv. 2009 à 15:39
0
Utile
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)
Commenter la réponse de cs_Jack
cs_Psyghoria 23 Messages postés dimanche 26 octobre 2008Date d'inscription 9 mai 2010 Dernière intervention - 8 janv. 2009 à 15:50
0
Utile
               "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.

                                               Psygho
                
Commenter la réponse de cs_Psyghoria
cs_Psyghoria 23 Messages postés dimanche 26 octobre 2008Date d'inscription 9 mai 2010 Dernière intervention - 8 janv. 2009 à 17:24
0
Utile
      Merci beaucoup. ça me fait une bonne explication, et c'est exactement ce qu'il me fallait.
       ++
               Psygho

        
Commenter la réponse de cs_Psyghoria

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.