使用c#在电子邮件中插入一个链接

时间:2013-04-02 00:46:52

标签: c#

我开发了一个使用c#自动发送电子邮件的程序,我希望在该电子邮件中插入指向该网站的链接。我该怎么办?

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;
}

我想通过此电子邮件发送链接。我该如何将其添加到电子邮件中?

4 个答案:

答案 0 :(得分:14)

您应该只需为body变量中的链接添加标记:

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

由于您指定的正文包含HTML(m.IsBodyHtml = true),因此您不必执行任何特殊操作。

答案 1 :(得分:8)

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

答案 2 :(得分:1)

在体内。这将要求将主体构造为HTML,以便a或可用于呈现链接。您可以使用StringTemplate之类的东西来生成包含链接的html。

答案 3 :(得分:0)

对于某些动态链接,如果链接前面没有http(安全问题),则电子邮件服务提供商不会将您的链接显示到电子邮件正文中 像localhost:xxxx / myPage

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