0

嗨,我正在使用以下代码从我的 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

任何人都可以解决这个问题

4

3 回答 3

1

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

于 2013-01-07T06:10:37.047 回答
0

如果您不想使用该特定代码行,我想您需要配置您的服务器,以便它允许匿名身份验证。

或者,如果这不是您的意图,您可以使用DefaultCredentials

SMTP.Credentials = CredentialCache.DefaultCredentials

更多信息可以在这里找到:

于 2013-01-07T05:52:18.213 回答
0

您可以做的最好的事情是保护您的凭据,将它们隐藏起来。典型的最终用户可能永远不会考虑使用像 ILSpy 这样的工具来窃取您的密码,所以不要担心它们。其他技巧涉及混淆用户名/密码,因此任何人都很难弄清楚用户名/密码在您的代码中来自何处。

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

于 2013-01-07T07:05:48.803 回答