我有一个C#应用程序,它可以获取诸如To,subject,message之类的邮件信息。然后它调用wcf服务发送邮件(实习生使用smtpclient.send())。问题是,当邮件正文包含超链接时,它不会被重新定义为链接。它以纯文本形式发送。
这有2个场景,
但邮件属性都是纯文本。我正在使用HttpUtility.UrlEncode()来编码链接。
如何解决这个问题?
提前完成
答案 0 :(得分:1)
如果您想确保网址是链接,请将电子邮件发送为HTML格式 - 您需要将其格式化为HTML格式。
纯文本不会神奇地为您创建链接,但某些电子邮件客户端会看到http
前缀并自动创建一个链接,无论来源是否为文本(Outlook)例如)。
答案 1 :(得分:0)
正如您提到的那样,您的纯文本邮件中的“普通”链接会被识别,但包含%20的链接(即空白字符)则不会被识别。一种解决方案是确保首先避免URL中的%20空白,因为(尽管完全合法)它在URL中不是一个非常“友好”的字符。如果你愿意的话,你可以使用htaccess将一个特殊的更友好的角色(例如,三个破折号---)映射到空白处。