如何在c#中即时发送邮件,或者至少在后台执行

本文关键字:或者 执行 后台 | 更新日期: 2023-09-27 18:09:39

我使用smtp客户端和c#的邮件消息类来发送邮件。邮件将一次发送给一个或最多两个用户。但是,邮件发送过程很慢。发送邮件大约需要5-8秒。在此之前,该页一直处于空闲位置。在asp.net c#中是否有一种方法可以立即发送邮件,或者至少重定向到另一个页面,并在后台执行邮件发送操作,这样用户就不会感到延迟。任何建议! !我对smtpclient做过研究。sendmailAsync,但在使用此属性时,邮件未发送。提前感谢

如何在c#中即时发送邮件,或者至少在后台执行

        Task sendEmail = new Task(() =>
        {
            //create the mail message
            MailMessage mail = new MailMessage();
            //set the addresses
            mail.From = new MailAddress("me@mycompany.com");
            mail.To.Add("you@yourcompany.com");
            //set the content
            mail.Subject = "This is an email";
            mail.Body = "this is a sample body";
            //send the message
            SmtpClient smtp = new SmtpClient();
            smtp.Port = 465;
            smtp.UseDefaultCredentials = true;
            smtp.Host = "smtp.gmail.com";
            smtp.EnableSsl = true;
            smtp.Credentials = new NetworkCredential("youGmailAddress@gmail.com", "YourPassword");  
            smtp.Send(mail);
        });
        sendEmail.Start();