使用安全/安全凭据在vb.net中发送邮件

时间:2013-01-07 05:45:12

标签: vb.net email authentication smtp

嗨,我正在使用我的Windows基础应用程序发送 以下代码

            Mail.Subject = "test email"
            Mail.To.Add("to@xyz.com")
            Mail.From = New MailAddress("from@abc.com")
            Mail.Body = "Hello"
            Dim attachment As System.Net.Mail.Attachment
            attachment = New System.Net.Mail.Attachment("AttachPath")
            Mail.Attachments.Add(attachment)
            Dim SMTP As New SmtpClient("smtp.abc.com")
            SMTP.EnableSsl = True
            SMTP.Credentials = New System.Net.NetworkCredential("xyz@.abc.com", "password")
            SMTP.Port = 25
            SMTP.Send(Mail)

但我不想使用

SMTP.Credentials = New System.Net.NetworkCredential("xyz@.abc.com", "password") 

还有Interpub

任何人都可以有这个解决方案

2 个答案:

答案 0 :(得分:1)

您也可以在My.Settings区域设置它,然后在需要时引用它,但不是因为您可以打开它并自由查看...无论哪种方式,您仍然必须提供您的凭据以某种方式保护邮件服务器,以便服务器在登录时对您进行身份验证。有很多方法可以做到这一点,例如你可以:用PC上的某个地方写一个随机文本文件或从数据库中提取它们。

答案 1 :(得分:0)

为确保您的凭据,您可以做的最好的事情就是将它们隐藏起来。一个典型的最终用户可能永远不会考虑使用像ILSpy这样的工具来窃取你的密码,所以不要担心它们。其他技巧涉及对用户名/密码进行模糊处理,因此任何人都无法确定代码中的用户名/密码来自何处。

如果您所做的只是上传文件,我的最终建议是使用不需要身份验证的其他技术。例如,您可以设置一个FTP / SFTP服务器,允许对文件夹“崩溃报告”进行匿名读/写访问(我只是假设您正在做的事情)。我相信有些服务器甚至允许创建文件,但拒绝修改/删除文件。