1

email formのウェブサイトには素晴らしい機能があります。私がやりたいことは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."; 
            }
4

5 に答える 5

4

コードに認証情報を入れないでください。代わりに web.config に入れて、必要な場所で参照してください。また、パスワードを変更した場合に、使用した場所を探し出す手間も省けます。

于 2013-03-11T20:51:50.013 に答える
1

ホスト、ユーザー名、パスワードの設定には web.config を使用することをお勧めします。例。

<system.net>
    <mailSettings>
        <smtp deliveryMethod="Network" from="name@domain.com">
            <network host="smtp.mail.com" 
                     userName="name@domain.com" 
                     password="blog.dotnetclr.com" port="25"/>
        </smtp>
    </mailSettings>
</system.net>

コード例:

Public Sub SendEmail([to] As String, subject As String, body As String)
    Dim mailMessage = New System.Net.Mail.MailMessage()
    mailMessage.[To].Add([to])
    mailMessage.Subject = subject
    mailMessage.Body = body

    Dim smtpClient = New SmtpClient()
    smtpClient.EnableSsl = True
    smtpClient.Send(mailMessage)
End Sub
于 2013-03-11T20:53:51.497 に答える
0

http://msdn.microsoft.com/en-us/library/yh598w02(v=vs.100).aspx

using (MailMessage msg = new MailMessage())
{
    //Your Code
}
于 2013-03-11T20:52:45.903 に答える
0
    using(SmtpClient smtp = new SmtpClient()){
        //smtp options here
        using(MailMessage msg = new MailMessage()){
            //mail options here
            smtp.Send(msg);
        }
    }
于 2013-03-11T20:59:07.407 に答える
0

MailMessage と SMTP Client オブジェクトの両方に使用できます

           //create message
           using (SmtpClient smtp = new SmtpClient(""))
           using( MailMessage msg = new MailMessage())
           {

                // Your code

           }
于 2013-03-11T20:55:39.257 に答える