在C#中使用MailMessage时,为什么ftp凭据会从电子邮件正文中删除?

时间:2010-07-27 15:56:32

标签: c# smtpclient ftp-client

我正在向客户发送电子邮件,通知他们特定的内容交付,我在邮件正文中包含ftp uri有问题。我正在使用以下格式构建ftp uri和ftp凭据,但是凭证部分被剥离了(部分用户:传递@):

ftp://user:pass@server/relativepath/filename

代码是这样的:

mailTemplate += String.Format("<a href=\"{0}\">File FTP URI: {1}</a><br>",
    new Uri(ftpBaseLink, filename), filename);

并通过以下事项发送电子邮件:

MailMessage message = new MailMessage(
    mailSettings.Smtp.From,
    mailTo,
    subject,
    mailMessage) { IsBodyHtml = true };
SmtpClient client = new SmtpClient();               
client.Send(message);

有什么线索可以覆盖这种“规范化”吗?

2 个答案:

答案 0 :(得分:1)

认为一段时间后安全性普遍“收紧”,因为包含user:pass的网址被误用,以至于愚弄人们认为他们点击链接当链接本身为http://www.mybank.com时到http://www.mybank.com:blah@www.adodgysite.com/fake_bank_site。用户现在更聪明,但可能是这种影响你的“锁定”。

我的建议是自己连接URI,而不使用Uri

答案 1 :(得分:0)

从顶部开始,我会查看'新的Uri(ftpBaseLink,filename)'变成一个字符串。