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

2019-11-26 来源: 活着凑个人数 发布在  https://www.cnblogs.com/liuping666/p/11933878.html

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

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

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

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

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

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

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

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

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

萌新一枚,请多多指教!

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

相关文章