13 votes

Insertion d'un lien dans un e-mail envoyé en c#

Je développe un programme pour envoyer des emails automatiquement en utilisant c#, et je veux insérer un lien vers un site web à cet email. Comment puis-je le faire ?

public bool genarateEmail(String from, String to, String cc, String displayName, 
                          String password, String subjet, String body)
{
    bool EmailIsSent = false;

    MailMessage m = new MailMessage();
    SmtpClient sc = new SmtpClient();
    try
    {
        m.From = new MailAddress(from, displayName);
        m.To.Add(new MailAddress(to, displayName));
        m.CC.Add(new MailAddress("xxx@gmail.com", "Display name CC"));

        m.Subject = subjet;
        m.IsBodyHtml = true;
        m.Body = body;

        sc.Host = "smtp.gmail.com";
        sc.Port = 587;
        sc.Credentials = new
        System.Net.NetworkCredential(from, password);
        sc.EnableSsl = true;
        sc.Send(m);

        EmailIsSent = true;

    }
    catch (Exception ex)
    {
        EmailIsSent = false;
    }

    return EmailIsSent;
}

Je veux envoyer un lien à travers cet email. Comment dois-je l'ajouter à l'e-mail ?

18voto

David Hoerster Points 18815

Vous devriez être en mesure d'ajouter le marquage pour le lien dans votre body variable :

body = "blah blah <a href='http://www.example.com'>blah</a>";

Vous ne devriez pas avoir à faire quoi que ce soit de spécial puisque vous spécifiez que votre corps contient du HTML ( m.IsBodyHtml = true ).

10voto

Gayashan Points 231
 String body = "Your message : <a href='http://www.example.com'></a>"
 m.Body = body;

2voto

James Moring Points 35

Dans le corps. Pour cela, le corps doit être construit en HTML afin qu'un ou puisse être utilisé pour rendre votre lien. Vous pouvez utiliser quelque chose comme StringTemplate pour générer le code HTML incluant votre lien.

0voto

Pour certains liens dynamiques, les fournisseurs de services de messagerie n'afficheront pas votre lien dans le corps du message si le lien n'est pas précédé de http (problèmes de sécurité). comme localhost:xxxx/myPage

m.body = "<a href='http://" + Request.Url.Authority + "/myPage'>click here</a>"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X