簡體   English   中英

使用asp.net發送電子郵件

[英]Send email using asp.net

我想使用asp.net發送電子郵件,我已經配置了SMTP服務並添加了127.0.0.1作為中繼。 我曾經在家中應用程序成功,但是我安裝在辦公室卻無法發送電子郵件,為什么?

這是C#代碼

MailMessage objemail = new MailMessage();
objemail.To.Add(new MailAddress("apthodisiac@gmail.com"));
objemail.From = new MailAddress(Request.Form["inputEmail"].ToString());
objemail.Subject = Request.Form["inputSubject"].ToString();
objemail.Body = "Dari: " + Request.Form["inputName"].ToString() + "\n\n" +
                "Phone: " + Request.Form["inputPhone"].ToString() + "\n\n" +
                Request.Form["inputMsg"].ToString();
objemail.IsBodyHtml = true;
objemail.Priority = MailPriority.Normal;

SmtpClient objSmtpClient = new SmtpClient();
objSmtpClient.Send(objemail);

這是web.config配置

<system.net>
<mailSettings>
  <smtp deliveryMethod="Network">
    <network host="127.0.0.1" port="25" userName="yyyy" password="xxxxx" />
  </smtp>
</mailSettings>
</system.net>

我的辦公室使用代理,是我無法發送電子郵件的問題嗎? 請指教

可能是端口號錯誤,請嘗試使用端口號"587" ,如下所示:

private void SendEmail(string from, string to, string subject, string body)
    {
      MailMessage mail = new MailMessage(new MailAddress(from), new MailAddress(to));

      mail.Subject = subject;
      mail.Body = body; 

      SmtpClient smtpMail = new SmtpClient("smtp.gmail.com");
      smtpMail.Port = 587;
      smtpMail.EnableSsl = true;
      smtpMail.Credentials = new NetworkCredential("xxx@gmail.com", "xxx");
      // and then send the mail
      smtpMail.Send(mail);
    }

您可以嘗試以下方法:

objSmtpClient.EnableSsl = true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM