我正在网站的控制器中生成一封电子邮件,其中包含指向我的网站的链接:
"http://" & Request.Url.Authority & "/some-page"
当我在本地计算机上测试它时,这是有效的(返回localhost:12345
)和生产中(返回www.company.com
)但有 1 人得到了这个结果:
http://www.company..com/some-page
如你所见,有 2 个..
在域名中。我无法重现这个错误,这怎么可能?
编辑:更多信息
- 我发送的电子邮件类型是纯文本电子邮件(无 HTML 或 RTF)
- 当发出有问题的请求时,网络服务器日志显示 www.company.com 为域
- 我只收到了电子邮件的部分屏幕截图。我认为电子邮件客户端是 Outlook,但我认为 Outlook 没有理由误解该链接。
- 此人(或恶意软件)当然有可能编辑了此电子邮件的内容。
这实际上是电子邮件编码方式的问题,请参阅以下答案:https://stackoverflow.com/a/6603002/186288 https://stackoverflow.com/a/6603002/186288。总之,您应该将编码更改为UTF8以强制对电子邮件进行base-64编码,否则某些电子邮件客户端可能会误解默认的Content-Transfer-Encoding:Quoted-Printable;编码并在碰巧遇到换行点的 URL 中添加额外的“.”。
为此,请在发送电子邮件之前添加此行:
mail.BodyEncoding = System.Text.Encoding.UTF8;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)