13

我开发了一个使用 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

4 回答 4

18

您应该能够在body变量中添加链接的标记:

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

您不必做任何特别的事情,因为您指定您的正文包含 HTML ( m.IsBodyHtml = true)。

于 2013-04-02T00:49:35.670 回答
10
 String body = "Your message : <a href='http://www.example.com'></a>"
 m.Body = body;
于 2013-04-02T00:54:07.570 回答
2

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

于 2013-04-02T00:53:10.770 回答
0

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

m.body = "<a href='http://" + Request.Url.Authority + "/myPage'>click here</a>"
于 2019-09-03T20:57:24.140 回答