使用c#在邮件发送中插入一个链接

本文关键字:链接 一个 插入 使用 | 更新日期: 2023-09-27 18:06:49

我开发了一个程序,使用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;
}

我想通过这封邮件发送一个链接。我该如何添加到邮件中?

使用c#在邮件发送中插入一个链接

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

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

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

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

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

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

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