我想发送一封带有超链接的电子邮件,我尝试发送没有链接的电子邮件,它的工作,但当我添加链接时,它给出了一个错误
这是我的代码:
MailMessage o = new MailMessage("f@hotmail.com", "f@hotmail.com", "KAUH Account Activation", "Hello, " + name + "\n Your KAUH Account about to activate click the link below to complete the actination process \n "+<a href=\"http://localhost:49496/Activated.aspx">login</a>);
NetworkCredential netCred = new NetworkCredential("f@hotmail.com", "****");
SmtpClient smtpobj = new SmtpClient("smtp.live.com", 587);
smtpobj.EnableSsl = true;
smtpobj.Credentials = netCred;
smtpobj.Send(o);
6条答案
按热度按时间wribegjk1#
您需要为
MailMessage
的主体启用HTML,如下所示:也许你应该选择另一个构造函数,使代码更易读。也许像这样:
完整文档:http://msdn.microsoft.com/en-us/library/System.Net.Mail.MailMessage(v=vs.110).aspx
更新看起来是你的字符串构建给你带来了麻烦。有时候,当把字符串放在一起(或者当它被调用时把它们连接起来)时,正确地得到所有的引号是很棘手的。当创建像电子邮件这样的大字符串时,有一些选项可以让它正确。
First,常规字符串-缺点是难以读取
第二个,逐字字符串-允许在代码中换行,以提高可读性。注意开头的@字符和引号转义序列从
\"
更改为""
。第三个,字符串生成器。这实际上是在许多方面的首选方式。
字符串构建器文档:http://msdn.microsoft.com/en-us/library/system.text.stringbuilder(v=vs.110).aspx
pftdvrlh2#
将消息标记为html
o.IsBodyHtml = true
mtb9vblg3#
drkbr07n4#
您忘记转义“:href=\”.... "〉登录
cvxl0en25#
语法错误:
nwo49xxi6#