zoukankan      html  css  js  c++  java
  • 异步发送Email

       /// <summary>
            /// Sends the mail to gmail through STunnel
            /// </summary>
            /// <param name="fileInfo"></param>
            /// <param name="filename"></param>
            /// <param name="fullPath"></param>
            private void SendMail(FileInfo fileInfo, string filename, string fullPath)
            {
                if (Settings.FullDirectoryPathInSubject)
                {
                    filename = fullPath;
                }
                mailSent = false;
                MailAddress toAddress = new MailAddress(Settings.EmailTo);
                MailAddress fromAddress = new MailAddress(Settings.EmailFrom);
                MailMessage mail = new MailMessage(fromAddress, toAddress);
                mail.Subject = string.Format("{0} {1}", Settings.EmailFilter, filename); ;
                mail.Body = filename;
                Attachment attachment = new Attachment(fullPath);
                mail.Attachments.Add(attachment);
                SmtpClient smtpClient = new SmtpClient(Settings.SmtpServer, Settings.SmtpPort);
                smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted);            smtpClient.SendAsync(mail, fileInfo);
                while (!mailSent)
                {
                    Thread.Sleep(500);
                }
                mail.Dispose();
            }
     
     
     /// <summary>
            /// This is called once the email is sent successfully
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            void smtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
            {
                // Get the unique identifier for this asynchronous operation.
                FileInfo fileInfo = (FileInfo)e.UserState;
                string filename = Path.GetFileName(fileInfo.FullName);
                Console.WriteLine(">>>> File {0} sent", filename);
                if (e.Error != null)
                {
                    Console.WriteLine("[{0}] {1}", fileInfo.FullName, e.Error.ToString());
                }
                mailSent = true;
            }
  • 相关阅读:
    如何用nginx将vue部署到本地
    数组中引用类型的去重
    关于element 上传文件el-upload
    ----vue3.0 如何拿到 有ref属性的元素;
    关于 el-form rules校验
    x-www-form-urlencoded 传参
    哈哈 v-model 传递参数给子组件
    记 el-tabs el-tab-pane 中嵌套 router-view出现的问题
    nginx跨域
    css3---flex三剑客
  • 原文地址:https://www.cnblogs.com/dyfzwj/p/2047519.html
Copyright © 2011-2022 走看看