IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Incorporer une resource au body de mail


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2017
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2017
    Messages : 140
    Par défaut Incorporer une resource au body de mail
    Bonjour à tous,
    J'ai créé un code d'envoi automatique de mails dans VB.net qui fonctionne bien.
    Pour aller plus loin je souhaiterais ajouter à la fin du Body une "signature" ajoutée en jpg dans les resources de mon appli sous le nom de Signaturemail.
    Voilà le code que j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Mail.Body = "Bonjour," & vbNewLine & "Je vous prie de trouver en pièce-jointe votre devis. N'hésitez pas à revenir vers moi pour tout éclaircissement." & vbNewLine & "Cordialement."
     
    Mail.Body = Mail.Body & vbNewLine & My.Resources.Signaturemail
    Vous l'aurez compris la dernière ligne n'est pas correcte mais je ne sais pas comment coder ça !
    Merci pour votre aide

  2. #2
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Responsable developpement
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Responsable developpement
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    Salut,
    Pour ajouter une image tu dois utiliser le format de message html.
    Un exemple ici et .

    Bonne journée.

  3. #3
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2017
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2017
    Messages : 140
    Par défaut
    Merci pour ton aide, ça m'a permis de bien avancer, j'arrive désormais à envoyer mon image de signature qui est visible en html.
    Par contre le code suivant n'affiche rien en texte (quand le destinataire ne voit pas les messages en html)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim plainView As Net.Mail.AlternateView = Net.Mail.AlternateView.CreateAlternateViewFromString("Ceci est mon contenu en texte brut, visible par les clients qui ne prennent pas en charge html", Nothing, "text/plain")
    Mail.AlternateViews.Add(plainView)
    D'autre part j'avais une ligne de code (Mail.Body) pour afficher automatiquement un message avant d'y mettre la signature html or tout disparaît dès lors que j'insère la signature, en clair le mail reçu n'affiche que la signature :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Mail.Body = "Bonjour," & vbNewLine & "Je vous prie de trouver en pièce-jointe votre devis. N'hésitez pas à revenir vers moi pour tout éclaircissement." & vbNewLine & "Cordialement."
     
    Dim htmlView As Net.Mail.AlternateView = Net.Mail.AlternateView.CreateAlternateViewFromString("SD<img src=cid:companylogo>", Nothing, "text/html")                
    Dim logo As New Net.Mail.LinkedResource(My.Application.Info.DirectoryPath & "\Resources\Signaturemail.jpg")
    logo.ContentId = "companylogo"
    htmlView.LinkedResources.Add(logo)
    Mail.AlternateViews.Add(htmlView)
    Merci encore de te pencher sur mes difficultés

  4. #4
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Responsable developpement
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Responsable developpement
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    Tu dois faire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim htmlView As Net.Mail.AlternateView = Net.Mail.AlternateView.CreateAlternateViewFromString("Ton message ici<img src=cid:companylogo>", Nothing, "text/html")

  5. #5
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2017
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2017
    Messages : 140
    Par défaut
    Merci encore, résolu pour les destinataires lisant en html
    Quid de ceux qui lisent en texte brut ? Pas de signature en texte pour eux !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim plainView As Net.Mail.AlternateView = Net.Mail.AlternateView.CreateAlternateViewFromString("Ceci est mon contenu en texte brut, visible par les clients qui ne prennent pas en charge html", Nothing, "text/plain")
    Mail.AlternateViews.Add(plainView)

  6. #6
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Responsable developpement
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Responsable developpement
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    As-tu bien regardé les exemples ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim plainView As Net.Mail.AlternateView = Net.Mail.AlternateView.CreateAlternateViewFromString("This is my plain text content, viewable by those clients that don't support html", Nothing, "text/plain")

  7. #7
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2017
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2017
    Messages : 140
    Par défaut
    Oui c'est exactement ce que j'ai fait mais ce code ne fonctionne pas même si je neutralise le code pour l'affichage html donc c'est même pas un écrasement du premier par le second

  8. #8
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2017
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2017
    Messages : 140
    Par défaut
    S'il n'y a pas de solution pour le texte brut je vais laisser tomber pour n'utiliser que le mail en html

    J'ai une dernière question, je souhaiterais faire des retours à la ligne de mon texte précédent la signature (logo) de la manière suivante:

    Bonjour,
    Je vous prie de trouver en pièce-jointe votre devis.
    N'hésitez pas à revenir vers moi pour tout éclaircissement.
    Cordialement.
    Logo html

    Or tout ce que j'ai essayé affiche tout sur la même ligne y compris le logo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim htmlView As Net.Mail.AlternateView = Net.Mail.AlternateView.CreateAlternateViewFromString("Bonjour," & Chr(13) & "Je vous prie de trouver en pièce-jointe votre devis." & Chr(10) & "N'hésitez pas à revenir vers moi pour tout éclaircissement." & vbNewLine & "Cordialement." & Chr(13) & "<img src=cid:companylogo>", Nothing, "text/html")
    Y-a-t-il une solution ?

  9. #9
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2017
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2017
    Messages : 140
    Par défaut
    Finalement j'ai trouvé pour les retours à la ligne il fallait utiliser le code html <br>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim htmlView As Net.Mail.AlternateView = Net.Mail.AlternateView.CreateAlternateViewFromString("Bonjour, <br> Je vous prie de trouver en pièce-jointe votre devis. <br> N'hésitez pas à revenir vers moi pour tout éclaircissement. <br> Cordialement. <br> <img src=cid:companylogo>", Nothing, "text/html")
    Il n'y a plus que le mail en texte brut qui pose problème, je laisse la dicussion non résolue au cas où quelqu'un passerait par là et aurait une solution, sinon je fermerai dans quelques jours.

    Merci @r.morel pour ton aide qui m'a été précieuse

  10. #10
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 742
    Par défaut
    Bonjour,

    Comme son nom l'indique, texte brut veut dire qu'il n'y a que du texte, et non formaté.
    Pas d'image donc.

    Rien ne t'empêche de mettre une signature en texte, mais forcément il n'y aura pas d'image.

  11. #11
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2017
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2017
    Messages : 140
    Par défaut
    Bonjour @m4k-Hurrican

    Oui ça je sais mais justement je souhaiterais envoyer un mail avec les 2 formats, en html pour ceux qui le lise, en texte brut pour les autres.
    Or le code ci-dessous sensé permettre le texte brut ne fonctionne pas, il ne s'affiche rien ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim plainView As Net.Mail.AlternateView = Net.Mail.AlternateView.CreateAlternateViewFromString("This is my plain text content, viewable by those clients that don't support html", Nothing, "text/plain")

  12. #12
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 742
    Par défaut
    As tu bien créé les 2 views avec un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim body_HTML As AlternateView = AlternateView.CreateAlternateViewFromString(string_HTML, Nothing, System.Net.Mime.MediaTypeNames.Text.Html)
            Dim body_TEXT As AlternateView = AlternateView.CreateAlternateViewFromString(string_TEXT, Nothing, System.Net.Mime.MediaTypeNames.Text.RichText)
     
            Dim mailMsg As New MailMessage
            mailMsg.AlternateViews.Add(body_HTML)
            mailMsg.AlternateViews.Add(body_TEXT)

  13. #13
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2017
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2017
    Messages : 140
    Par défaut
    Merci @m4k-Hurrican

    J'ai modifié mon code pour l'adapter à ta suggestion, quand ma boîte mail (Outlook) est configuée en html je lis bien le body_HTML avec l'image de signature donc tout est parfait MAIS quand je la configure en texte brut je ne lis pas le texte contenu dans body_TEXT (Essai). En fait je lis toujours le texte contenu dans le body_HTML sans l'image de signature ! Tout se passe comme si le body_TEXT était ignoré !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim body_HTML As AlternateView = AlternateView.CreateAlternateViewFromString("Bonjour, <br> Je vous prie de trouver en pièce-jointe votre devis. <br> N'hésitez pas à revenir vers moi pour tout éclaircissement. <br> Cordialement. <br> <br> <img src=cid:companylogo>", Nothing, System.Net.Mime.MediaTypeNames.Text.Html)
    Dim body_TEXT As AlternateView = AlternateView.CreateAlternateViewFromString("Essai", Nothing, System.Net.Mime.MediaTypeNames.Text.RichText)
    Dim logo As New Net.Mail.LinkedResource(My.Application.Info.DirectoryPath & "\Resources\Signaturemail.jpg")
    logo.ContentId = "companylogo"
    body_HTML.LinkedResources.Add(logo)
    Mail.AlternateViews.Add(body_HTML)
    Mail.AlternateViews.Add(body_TEXT)

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/02/2017, 17h48
  2. Réponses: 0
    Dernier message: 11/01/2011, 16h43
  3. Réponses: 6
    Dernier message: 16/01/2008, 15h37
  4. [Builder] Effectuer une opération quand une resource a changé
    Par Satch dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 08/04/2004, 13h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo