【问题标题】:Send email using asp.net使用 asp.net 发送电子邮件
【发布时间】:2012-11-08 16:40:15
【问题描述】:

我想使用 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>

我的办公室使用代理,是我无法发送电子邮件的问题吗?请指教

【问题讨论】:

  • 抛出什么异常?
  • 通过将其包装在 try/catch 中并将异常详细信息写入 txt 文件来执行一些简单的日志记录。否则,它可能是一堆东西。
  • 没有错误但我没有收到邮件

标签: asp.net email smtp


【解决方案1】:

可能是端口号错了试试端口号"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);
    }

【讨论】:

【解决方案2】:

你可以试试这个:

objSmtpClient.EnableSsl = true

【讨论】:

    猜你喜欢
    • 2011-05-24
    • 2012-01-10
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 2012-12-11
    • 2016-09-15
    • 1970-01-01
    相关资源
    最近更新 更多