所以,我正在寻找在我的网站上有一个联系表格,一个人可以输入一条消息并发送消息,并将消息发送到我的收件箱。
但每当我在网上看到他们时,我会看到:
System.Net.NetworkCredential("yourEmail@gmail.com", "YourPassword");
为什么我需要提供密码?当您向某人发送常规电子邮件时,您不需要他们的密码。
我也有安全问题。好吧,它在.cs文件中,但是,我仍然不喜欢在那里看到我的密码。
另外,如果它是一家大公司呢?易趣是否有明文密码?这是我怀疑的事情。其他人如何做到这一点?
答案 0 :(得分:1)
您绝对不想要用户密码。
但是,为了使您的联系表格能够发送邮件,需要由有效的电子邮件客户端发送。比如说你想为你的邮件使用gmail服务器,你需要提供它的凭据。
至于问题的第二部分,请不要将这些纯文本存储在代码中。您可以从app.config / web.config
轻松访问这些内容(例如参见:Embed credentials for webclient in C# Console Application app.config?)
答案 1 :(得分:0)
这是因为您拥有自己的SMTP中继和自己的凭据。
因此,当您设置邮件时,您需要指定对电子邮件地址的回复。
下面是一个如何做的工作示例
var m = new MailMessage { Subject = txtSubject.Text, IsBodyHtml = true, Body = emailOpeningLine + txtMessage.Text };
try
{
m.To.Add(new MailAddress("to");
m.From = new MailAddress("senders email address");
m.ReplyToList.Add("senders email address");
foreach (var attachment in Attactments)
{
m.Attachments.Add(new Attachment(attachment));
}
client.Send(m);
m.To.Clear();
m.Attachments.Clear();
}
catch (SmtpException esException)
{
}
catch (Exception ex)
{
}
回答您的其他问题,您可以将密码保存在数据库中,但请记住加密它们。