SendMail in asp .net

本文关键字:net asp in SendMail | 更新日期: 2023-09-27 18:01:19

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());
    }
}

我没有在我的代码中发现任何错误,按照互联网上的几个来源。

SendMail in asp .net

更改gmail帐户访问权限
用你的Google账号登录并重定向到这个链接
https://www.google.com/settings/security/lesssecureapps
按Enable,再试一次代码

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

试试这个方法

在Gmail中使用端口-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)
            {
            }
        }