用多线程发送邮箱(一次给一个用户发送N封邮件)

前台不用写,后台执行方法就可以了。

 1 namespace SendMail
 2 {
 3     public partial class SendMail_Page : System.Web.UI.Page
 4     {
 5         protected void Page_Load(object sender, EventArgs e)
 6         {
 7             if (!IsPostBack)
 8             {
 9                 ThStart();
10             }
11         }
12         public Thread[] threads = new Thread[5];
13         //开启线程
14         public void ThStart()
15         {
16             ThreadStart thsrt = new ThreadStart(SendMail);
17             //循环5个线程
18             for (int i = 0; i < 5; i++)
19             {
20                 threads[i] = new Thread(thsrt);
21                 threads[i].IsBackground = true;
22             }
23             //循环遍历所有的5个线程
24             foreach (Thread th in threads)
25             {
26                 th.Start();
27             }
28         }
29
30         public void SendMail()
31         {
32             try
33             {
34                 System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
35                 client.Host = "smtp.qq.com";//qq郵箱用這個,網易的就用smtp.126.com,看情況而定
36                 client.UseDefaultCredentials = false;
37                 client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
38                 client.Credentials = new System.Net.NetworkCredential("發送郵箱", "郵箱密碼");//驗證發送郵箱和這個一樣不
39                 System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage();
40                 Message.From = new System.Net.Mail.MailAddress("發送郵箱");
41                 Message.To.Add("接收郵箱");
42
43                 Message.Subject = "用戶測試";
44                 Message.Body = "主題——測試——郵箱發送";
45                 Message.SubjectEncoding = System.Text.Encoding.UTF8;
46                 Message.BodyEncoding = System.Text.Encoding.UTF8;
47                 Message.Priority = System.Net.Mail.MailPriority.High;
48                 Message.IsBodyHtml = true;
49                 client.Send(Message);
50                 Thread.Sleep(1000);
51             }
52             catch (Exception)
53             {
54                 //循环遍历所有的5个线程
55                 foreach (Thread th in threads)
56                 {
57                     //中止线程
58                     th.Abort();
59                 }
60             }
61         }
62     }
63 }
时间: 2024-08-05 15:49:51

用多线程发送邮箱(一次给一个用户发送N封邮件)的相关文章

Linux--网络通信命令(给其它用户发送广播消息)

1.命令名称:write 执行权限:所有用户  功能描述:向另外一个用户发送信息,以CTRL+D作为结束 语法:write <用户名>root向luxh用户发送信息[[email protected] ~]# write luxhwrite: luxh is logged in more than once; writing to pts/1hello,luxh,i am root 用户luxh接收到的信息为[[email protected] ~]$ Message from [email 

发送邮箱

yii2 发送邮箱 1.在qq邮箱中 设置--账户--POP3/SMTP服务 把它开启,需要发送短信,会给你一个验证码,这个验证码就是密码 2.在main-local.php的components中添加一下代码 'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'useFileTransport' =>false,//这句一定有,false发送邮件,true只是生成邮件在runtime文件夹下,不发邮件 //'viewPath' =&g

发送邮箱实现找回密码

注意事项 1..开启socket:在php.ini中取消extension=php_sockets.dll前面的分号. 2.登录你的邮箱手动开启STMP服务,这个服务默认是关闭的,一定要去邮箱->设置里去手动开启,开启时要求你设置一个独立密码,这个密码就是写在 'MAIL_PASSWORD'=>' ', // 邮箱密码,的密码而不是邮箱登录密码 3.userinfo中加上一个字段Resettime(邮箱提交时间,和当前时间比较,判断链接是否过期) 1.      在ThinkPHP/Exten

一个简短非常实用的邮件发送

import java.util.Properties;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.Addre

javaMail操作QQ邮箱发送邮箱 Demo

最近用到想给项目中加一个功能,就是当项目中某些模块发生异常,在捕获异常后不仅仅写日志抛异常等!还要追加一个发送邮件给该模块的负责人,方便运维定位问题: maven管理的配置: <!-- 邮件 --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </depe

ZeroMQ接口函数之 :zmq_msg_send – 从一个socket发送一个消息帧

ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_msg_send zmq_msg_send(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_msg_send – 从一个socket发送一个消息帧 Synopsis int zmq_msg_send (zmq_msg_t *msg, void *socket, int flags); Description zmq_msg_send函数和zmq_sendmsg(3)函数是完全相同的,只是z

10、使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。 服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。

/**10.使用TCP协议完成一个客户端一个服务器.客户端从键盘输入读取一个字符串,发送到服务器. 服务器接收客户端发送的字符串,反转之后发回客户端.客户端接收并打印. * 客户端*/ import java.io.*; import java.net.*; public class Test10_Client { public static void main(String[] args) throws Exception { Socket s = new Socket("192.168.0.

【Java】向一个页面发送post请求并获取其处理之后的结果与用javascript创建一个表单后提交的安全性

本文对比与<[Java]读取网页中的内容>(点击打开链接)一文,向一个页面发送get请求,并获取其处理之后的结果,这里是向一个页面发送post请求,并获取其处理之后的结果.如果向一个页面发送get请求,并获取其处理之后的结果,只需要直接读取一个网页用?后接各种用&参数连接的参数即可,而向一个页面发送post请求,并获取其处理之后的结果,就不是这么简单了. 这里方法可能在普通的Java文件中不会太常见,但在jsp.安卓等javaweb的网页编程中却十分常用 import java.io.

利用多线程实现并发调用,实现一个存钱多人取钱函数

1 package com.thread; 2 3 /** 4 * @author lisj 5 * 利用多线程实现并发调用 6 * 根据条件实现线程的等待和运行 7 */ 8 9 public class ThreadMoney { 10 11 public static void main(String args[]){ 12 13 Moneyclass money=new Moneyclass(); //实例化Money类 14 getmoney son1=new getmoney(mon