「java邮件发送成功条数」java邮件发送成功条数不对

博主:adminadmin 2023-03-21 02:43:06 528

今天给各位分享java邮件发送成功条数的知识,其中也会对java邮件发送成功条数不对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java mail 发邮件 1000 封以上 怎么让邮件快速发送

...

String to="test1@qq.com,test2@gmail.com,test3@163.com";

InternetAddress[] toList = new InternetAddress().parse(to);

msg.setRecipients(Message.RecipientType.TO, toList);

...

Transport.send(msg);

或者直连邮件网关,并由邮件网关直接转发至收件箱所在的服务器,因此发送速度是基本不受限的。如果没有邮件网关,同时又不想自己完成相关功能,那么建议不要只让一台邮件服务器转发你的邮件,而是多连几台,将自己的邮件平均分配到每台邮件服务器上,这样就不会由于发送过多,而被拒了。

至于处理能力,可以提几点关于提高发送能力的建议

1.SMTP协议是支持长连接的协议,同时mail.jar实现了SMTP协议的连接、邮件发送及连接断开,至于对连接的维护没有涉及;同时Spring中的邮件支持是通过封装mail.jar实现的,但只提供了单笔发送和批量发送(均为短连接)。

2.如果使用长连接,建议再引入连接池,那样既便于维护连接,又可以提高连接的使用率。

JAVA 如何实现群发邮件(1000封以上)

刚好我也在学习,网上找了些:

邮件群发:

收件人的地址设置为tomail+i的形式,利用For循环向这些地址发送邮件,以实现群发的目的。

利用Address类设置邮件信息的收件人和发件人信息,在创建了邮件地址类后,通过message的setFrom()方法设置邮件的发件人,代码如下:

message.setFrom(from_mail);

设置收件人地址时使用setRecipient()方法设置收信人地址,代码如下:

message.setRecipient(type,address);

参数type为收件人类型。可以使用以下3个常量来区分收件人的类型:

1)Message.RecipientType.TO--发送。

2)Message.RecipientType.CC--抄送。

3)Message.RecipientType.BCC--暗送。

实现过程:

%@ page import="java.io.*"%

%@ page import="java.util.*"%

%@ page import="javax.mail.*"%

%@ page import="javax.mail.internet.*"%

%@ page import="javax.activation.*"%

%

try{

int i = 1;

for(i=1;i4;i++){

request.setCharacterEncoding("gb2312");

String from = request.getParameter("from_mail");

String to = request.getParameter("tomail"+i);

String subject = request.getParameter("subject");

String messageText = request.getParameter("message");

String password = request.getParameter("password");

String S = request.getParameter("from_mail");

int n = S.indexOf('@');

int m = S.length();

String server = S.substring(n+1,m);

//建立邮件会话

Properties pro = new Properties();

pro.put("mail.smtp.host","smtp."+server);

pro.put("mail.smtp.auth","true");

Session sess = Session.getInstance(pro);

sess.setDebug(true);

MimeMessage message = new MimeMessage(sess);//新建一个消息对象

InternetAddress from_mail = new InternetAddress(from);//设置发件人

message.setFrom(from_mail);

//设置收件人

InternetAddress to = new InternetAddress(to);

message.setRecipient(Message.RecipientType.TO,to_mail);

message.setSubject(subject);//设置主题

message.setText(messageText);//设置内容

message.setSentDate(new Date());//设置发送时间

message.saveChanges();//保存邮件信息

Transport transport = sess.getTransport("smtp");

transport.connect("smtp."+server,from,password);

transport.sendMessage(message,message.getAllRecipients());

transport.close();

if(i==3){

out.print("发送邮件成功");

}

}

}catch(Exception e){

out.print("发送邮件失败,原因可能是ul");

out.println(e.getMessage());

}

%

感谢网友:s214205

java如何实现批量发送邮件

1.要想效率发邮件可以用多线程每个线程发指定批量的邮件

2.要想不被查封为垃圾邮件,这个就有很多地方要注意了

邮件的内容不要含有太多图片信息,内容尽量简洁,不要涉及一些淫秽色情的东西。

不要向同一个人发送同样的邮件。

发邮件时ip最好用代理每发送个50封邮件就换个ip,因为邮件服务器也会检查你ip在这么短时间发了这么多邮件也会认为你是恶意群发。

最好能加入邮件接收者的白名单或订阅名单

java邮件发送成功条数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java邮件发送成功条数不对、java邮件发送成功条数的信息别忘了在本站进行查找喔。