-1

MVC3 を使用しており、ユーザーにメールを送信する必要があります。Gmail サーバーを使用したくありません。しかし、サーバー 10.1.70.100 を使用したいです。私が間違っていることを理解していません。これが私のコードです:

                var fromAddress = new MailAddress("sum1@abc.com", "From Name");                    var toAddress = new MailAddress(EmailID, "To Name");
                const string fromPassword = "";//To be Filled
                const string subject = "Verification Mail";

                string body = "You have successfully registered yourself. Please Enter your Verification code " + code.ActivatedCode;
                var smtp = new SmtpClient
                {
                    Host = "10.1.70.100",
                    Port = 587,
                    EnableSsl = true,
                    DeliveryMethod = SmtpDeliveryMethod.Network,
                    Credentials = new NetworkCredential(),

                    Timeout = 100000
                };
                using (var message = new MailMessage(fromAddress, toAddress)
                {
                    Subject = subject,
                    Body = body
                })
                {
                    smtp.Send(message);
                }

資格情報を提供する必要がない方法を誰かが提案できますか??

4

2 に答える 2

2

私は次の方法でこれを行うことを好みます:

Web.config:

   <system.net>
       <mailSettings>
           <smtp from="Description">
               <network host="your.smtpserver" password="" userName="" />
           </smtp>
      </mailSettings>
  </system.net>

あなたのコード:

      var smtpClient = new SmtpClient();
      smtpClient.Send(mail);
于 2012-04-23T12:33:19.853 に答える
1

私たちの OSS プロジェクトでは、この小さなヘルパーを使用します。それが役に立てば幸い。

public void SendEmail(string address, string subject, string message)
    {
        string email = ConfigurationManager.AppSettings.Get("email");
        string password = ConfigurationManager.AppSettings.Get("password");
        string client = ConfigurationManager.AppSettings.Get("client");
        string port = ConfigurationManager.AppSettings.Get("port");

        NetworkCredential loginInfo = new NetworkCredential(email, password);
        MailMessage msg = new MailMessage();
        SmtpClient smtpClient = new SmtpClient(client, int.Parse(port));

        msg.From = new MailAddress(email);
        msg.To.Add(new MailAddress(address));
        msg.Subject = subject;
        msg.Body = message;
        msg.IsBodyHtml = true;

        smtpClient.EnableSsl = true;
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = loginInfo;
        smtpClient.Send(msg);
    }
于 2012-04-23T12:30:43.403 に答える