您不应该在其他人正在运行的应用程序中使用您的用户名和密码.
修改应用程序,以便它提示用户输入他们的电子邮件证书,并使用这些.
这必须存储在配置文件中,除非您存储散列加密密码,否则仍可由其他人读取.
第一种选择:将用户名和密码存储在配置中
using System.Net.Mail;
var fromEmail = ConfigurationSettings.AppSettings[ "mail" ];
var fromPassword = ConfigurationSettings.AppSettings[ "pass" ];
var fromAddress = new MailAddress(fromEmail, "From Name");
var toAddress = new MailAddress("to@example.com", "To Name");
const string subject = "Subject";
const string body = "Body";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
Run Code Online (Sandbox Code Playgroud)
在app.config中:
<appSettings>
<add key="mail" value="somemail@gmail.com" />
<add key="pass" value="password" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
您也可以通过加密来制作安全的配置文件。
第二种选择:从用户那里读取用户名和密码