为什么创建联系表单需要密码?

时间:2016-10-08 19:42:32

标签: c# asp.net contact-form

所以,我正在寻找在我的网站上有一个联系表格,一个人可以输入一条消息并发送消息,并将消息发送到我的收件箱。

但每当我在网上看到他们时,我会看到:

 System.Net.NetworkCredential("yourEmail@gmail.com", "YourPassword");

为什么我需要提供密码?当您向某人发送常规电子邮件时,您不需要他们的密码。

我也有安全问题。好吧,它在.cs文件中,但是,我仍然不喜欢在那里看到我的密码。

另外,如果它是一家大公司呢?易趣是否有明文密码?这是我怀疑的事情。其他人如何做到这一点?

2 个答案:

答案 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)
            {


            }

回答您的其他问题,您可以将密码保存在数据库中,但请记住加密它们。