【问题标题】:SendMail in asp .net在 asp .net 中发送邮件
【发布时间】:2016-08-08 08:20:25
【问题描述】:
using System.Net.Mail;

protected void SendMail()
{
    try
    {
        MailMessage mail = new MailMessage();
        SmtpClient SmtpServer = new SmtpClient("smtp.google.com");
        SmtpServer.Timeout = 30000;
        SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;
        mail.From = new MailAddress("myemail@gmail.com");
        mail.To.Add("recipient@gmail.com");
        mail.Subject = "test";
        mail.Body = "test";
        mail.Priority = MailPriority.High;

        SmtpServer.Port = 587;//25
        SmtpServer.Credentials = new System.Net.NetworkCredential("myemail@gmail.com", "pwd");
        SmtpServer.EnableSsl = true;
        SmtpServer.UseDefaultCredentials = false;

        SmtpServer.Send(mail);
        //MessageBox.Show("mail Send");
    }
    catch (Exception ex)
    {
        //MessageBox.Show(ex.Message.ToString());
    }
}

根据互联网上的几个来源,我没有在我的代码中发现任何错误。还是不行。

【问题讨论】:

  • 最没用的说法是它不起作用 你能详细说明什么不起作用吗?有任何错误信息吗?
  • @Steve 对我来说,更没用的事情就是捕获并吞下异常。
  • 如果有任何异常请告诉我们?
  • 当我在 catch 块中取消注释 MessageBox 时,弹出窗口显示为“发送邮件失败”
  • 并且弹出窗口不断出现。

标签: c# asp.net sendmail


【解决方案1】:

更改您的 gmail 帐户访问权限
使用您的 Google 帐户登录并重定向到此链接
https://www.google.com/settings/security/lesssecureapps
按启用,然后再次尝试您的代码

https://support.google.com/accounts/answer/6010255

【讨论】:

    【解决方案2】:

    试试这个方法

    在 Gmail 中使用 Port-25 和 SMTP-smtp.gmail.com

      public void mail(string FromEmail, string FromPass, string To, string Tocc, string Tobcc, string subject, string message, string smtpadd, int portnum)
            {
                try
                {
                    System.Net.Mail.SmtpClient st = new System.Net.Mail.SmtpClient(smtpadd);
                    System.Net.Mail.MailMessage mst = new System.Net.Mail.MailMessage();
                    mst.To.Add(To);
                    if (Tocc != "")
                    {
                        mst.CC.Add(Tocc);
                    }
                    if (Tobcc != "")
                    {
                        mst.Bcc.Add(Tobcc);
                    }
                    mst.IsBodyHtml = true;
                    mst.From = new System.Net.Mail.MailAddress(FromEmail);
                    mst.Subject = subject;
                    mst.Body = message;
                    System.Net.NetworkCredential nc = new System.Net.NetworkCredential(FromEmail, FromPass);
                    st.UseDefaultCredentials = true;
                    st.EnableSsl = true;
                    st.Port = portnum;
                    st.Credentials = nc;
    
                    st.Send(mst);
                }
                catch (Exception e)
                {
                }
            }
    

    【讨论】:

    • 再次,一个空捕获块代码sn-p!为什么人们一直在编写和发布这样的代码???
    猜你喜欢
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    相关资源
    最近更新 更多