使用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;
}
我想通过这封邮件发送一个链接。我该如何添加到邮件中?
您应该能够在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>"