发送html邮件a标签中的url不显示的问题

最近做的一个项目中,需要用到邮箱激活功能,但是遇到一个问题!

问题描述:发送邮箱之后,邮箱的激活链接的href属性不见了!!!

因为我采用的是本地的地址做测试,后来用百度的链接替换我的href地址又可以了。

后来百度了一下,终于在一篇文章中找到问题所在,地址在文章末尾。

原因是,在写url时,如果访问的是本地的,我都习惯不加http的,如果不加http则表示去找本地资源,加上则表示通过http协议查找资源

在本地方式时加上http也不会错,因此对于url,加http了一定不会错,不加不一定错。

谨以此文避免下次入坑!!!

 

最后附上发送邮箱功能代码

 1         /// <summary>
 2         /// 发送激活链接
 3         /// </summary>
 4         /// <param name="mail">目的邮件地址</param>
 5         /// <param name="Host">激活地址域名</param>
 6         /// <param name="UserID">用户标识ID</param>
 7         public static void SendEmail(string mail, string Host, int? UserID)
 8         {
 9             //随机生成邮箱激活码
10             string ActiCode = Guid.NewGuid().ToString("N");
11             //拼接邮箱激活链接
12             formto = string.Format(formto, Host, UserID, ActiCode);
13             MailMessage mailMsg = new MailMessage();
14             mailMsg.From = new MailAddress(name);//源邮件地址 ,发件人
15             mailMsg.To.Add(new MailAddress(mail));//目的邮件地址。可以有多个收件人.
16             mailMsg.Subject = "陈列专家邮箱激活验证";//发送邮件的标题 
17             mailMsg.Body = "请进行邮箱验证,来激活你在陈列专家中用来接收相关信息的邮箱,点击下面的链接激活您的邮箱:<br><a target='_blank' style='color:#0041D3;text-decoration:underline' href='"+formto+"'>请单击激活</a>";//发送邮件的内容 
18             mailMsg.IsBodyHtml = true;
19             SmtpClient client = new SmtpClient(smtp);//smtp.163.com,smtp.qq.com,发件人使用的邮箱的SMTP服务器。
20             client.Credentials = new System.Net.NetworkCredential(name, upass);//指定发件人的邮箱的账号与密码.
21             client.Send(mailMsg);//排队发送邮件.
22         }

 

萌新一枚,请多多指教!

 

转载于:https://blog.csdn.net/sirytao/article/details/80017215

posted @ 2019-11-26 10:43  活着凑个人数  阅读(1152)  评论(0编辑  收藏  举报