c# - 使用usings在asp中发送电子邮件

标签 c# asp.net visual-studio email

我的网站上有一个电子邮件表单,效果很好。我唯一想做的就是添加 usings 以获得更好的编码,最好的方法是什么?我使用的代码如下:

            try
            {
            //create message
            MailMessage msg = new MailMessage();
            msg.To.Add(txtTo.Text);
            msg.From = new MailAddress(txtFrom.Text);
            msg.Subject = string.Format("Van: " + txtName.Text + " | Email: " + txtFrom.Text + " | Onderwerp: " + txtSubject.Text);
            msg.Body = txtBericht.Text;

            SmtpClient smtp = new SmtpClient("");
            smtp.Host = "smtp.live.com";
            smtp.Port = 587;
            smtp.EnableSsl = true;

            smtp.Credentials = new NetworkCredential("emailaddress", "pass");

                smtp.Send(msg);
                ClearTextboxes();
                lblError.ForeColor = Color.Green;
                lblError.Text = "Het verzenden van uw e-mail is gelukt!";
            }
            catch
            {
                lblError.ForeColor = Color.Red;
                lblError.Text = "Er ging iets mis met het versturen van de email."; 
            }

如何在此代码上使用 usings? 当我上传我的网站时使用填写我的电子邮件地址和密码是否安全,还是我应该使用其他方法?

提前致谢!

编辑:

我将我的代码更改为以下内容:

  try
            {
            //create message
                using (MailMessage msg = new MailMessage())
                {

                     //create message
            MailMessage msg = new MailMessage();
            msg.To.Add(txtTo.Text);
            msg.From = new MailAddress(txtFrom.Text);
            msg.Subject = string.Format("Van: " + txtName.Text + " | Email: " + txtFrom.Text + " | Onderwerp: " + txtSubject.Text);
            msg.Body = txtBericht.Text;

                    using (SmtpClient smtp = new SmtpClient())
                    {
                        smtp.Host = "smtp.live.com";
                        smtp.Port = 587;
                        smtp.EnableSsl = true;

                        smtp.Credentials = new NetworkCredential("emailadress", "pass");

                        smtp.Send(msg);
                    }
                    ClearTextboxes();
                    lblError.ForeColor = Color.Green;
                    lblError.Text = "Het verzenden van uw e-mail is gelukt!";
                }          
            }
            catch
            {
                lblError.ForeColor = Color.Red;
                lblError.Text = "Er ging iets mis met het versturen van de email."; 
            }

最佳答案

切勿将身份验证信息放入您的代码中。将它放在您的 web.config 中,并在您需要的地方引用它。如果您更改密码,这还可以避免您在任何使用过它的地方寻找的麻烦。

关于c# - 使用usings在asp中发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15348315/

相关文章:

c# - 如何拒绝直接访问页面

c# - 如何在我自己的 WPF 应用程序中使用 Visual Studio 11 Dark Theme?

node.js - nodejs/electron-forge/node-gyp : Could not find any Visual Studio installation to use after trying all the tips I could find online

c# - 在 Outlook VSTO 加载项中,C# 不允许您将事件处理程序 Hook 到 Application.Quit

c# - C# Action += function 的 C++ 方式?

c# - 复制并粘贴到DataGridView单元格(C#)

c# - 将 FileStream 中的数据读入通用 Stream

c# - 如何在 asp.net 网络表单中显示 pdf 文件

javascript - 保存动态创建的 jQuery 连接可排序列表的顺序

c# - 代码片段插件