我开发了一个使用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;
}
我想通过此电子邮件发送链接。我该如何将其添加到电子邮件中?
答案 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>"