发送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 }
萌新一枚,请多多指教!