【问题标题】:How to send mail in c# instantly or at least perform it in background [closed]如何立即在 C# 中发送邮件或至少在后台执行它[关闭]
【发布时间】:2014-08-12 14:03:23
【问题描述】:

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

【问题讨论】:

  • 您可以随时启动线程或异步任务来发送电子邮件,这样页面就不必等待发送完毕后才返回
  • 因为我是这个概念的新手,我不知道它是如何完成的..你能提供一些我可以使用它的链接吗..
  • 谢谢 ken.. 我得到了我想要的..

标签: c# asp.net email smtp


【解决方案1】:
        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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-24
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多