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

Why does creating contact forms require a password?

所以我正在考虑在我的网站上添加一个联系表单,人们可以在其中输入消息并发送,消息会发送到我的收件箱。

但是每次我在网上看到他们我都会看到这个:

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

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

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

还有,如果是大公司呢? ebay 是否有明文密码?这是我怀疑的事情。其他人是怎么做到的?

您绝对不需要用户密码。

但要使您的联系表能够发送邮件,它需要由有效的电子邮件客户端发送。比如说你想为你的邮件使用 gmail 服务器,你需要为它提供你的凭据。

关于你问题的第二部分,请不要将这些纯文本存储在代码中。您可以轻松访问 app.config / web.config

(例如参见:

这是因为您拥有自己的 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)
            {


            }

关于你的其他问题,你可以将密码保存在数据库中,但记得加密。