
正文
邮件群发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.如果使用长连接,建议再引入连接池,那样既便于维护连接,又可以提高连接的使用率。
相关问答
Q1: 如何写一个JAVA类可以实现邮件发送功能,也可以实现群发功能
java mail,可以利用SMTP 发,,,,,,,群发就是多个接收地址
~
Q2: java开发的网站集成邮件群发功能,该怎么处理
邮件群发得用专业的邮件群发软件才行,一般开发网站集成的那种用不了。
试试双翼邮件群发软件!
双翼邮件群发软件,是国内知名轻量级邮件群发软件,专适合于个人、中小企业使用,特点如下:
简洁界面,重要步骤提供操作提示,使用方便。
一对一发送:接收者只会看到这封邮件发给了自己,不会看到其他人的地址,没有任何群发痕迹。
模拟人工发送:并采取一定的反垃圾邮件措施,到达率比手工发送更高。
个性化邮件:邮件内容、邮件标题可插入接收者姓名,显示对收件人的尊重;
多样化邮件:文本宏、随机宏、同义词宏可以非常方便的让是邮件内容千变万化。
多内容发送:一封邮件可以设置多个内容,这些内容被循环(或随机)发给接收者,更接近于手工发送。
多账户发送:使用多邮件账户发送,发送速度更快。
多任务发送:可同时发送多个不同的邮件。
自定义发送数量:用户可自己设置每个发送邮箱账户每天的发送数量,避免发送过多造成邮箱被封。
自定义发送速度:用户可自己设置邮箱的发送速度,避免发送速度过快,而造成拥堵或被认定为广告邮件。
定时发送:在客户的工作时间发送,让客户第一时间看到你的邮件。
断点重发:没有完成的任务,下次启动后继续发送未发送的邮件。
失败重发:发送失败的邮件可单独重新发送。
重复地址检测:在导入地址时自动检测重复地址,避免重复发信被客户加入黑名单。
地址分组管理:强大的地址分组管理功能,方便客户群管理。
导入导出:很方便地导入、导出邮件地址,发送邮箱账户也可以方便的导入、导出。
自动关机:群发任务完成后可设置自动关机,低碳环保。
一次付费,终身使用:不限制发送次数和发送总量,终身使用。
自动换IP:群发邮件过程中自动换IP(本机ADSK拨号,路由器换IP),更适合使用免费邮箱发送。
VPN换IP:群发过程中自动控制VPN软件更换线路,实现换IP。
手工换IP:群发邮件过程中手工换IP,适合使用免费邮箱发,支持多种换IP方法:路由器,VPN等。
自动更换代理:群发过程中自动更换代理,突破免费邮箱IP限制。
安全保护:提供两级密码保护,管理员密码和用户密码;保护邮件地址信息不被他人窃取;软件锁定后邮件正常发送,解除锁定需要录入密码。
可视编辑:提供网页格式邮件编辑,支持网页源代码编辑。
黑名单:加入黑名单的邮件地址会自动过滤掉,不发送。
收集退信、退订邮件:自动从邮箱收集退信和退订邮件,以后不会向这些邮件地址发送邮件了。
邮件阅读跟踪:发出去的邮件谁看了,什么时候看的,看了几次。邮件中那个超链接被点击了,什么时候点击的,共点击了几次。
数据备份和回复:对收件人地址薄、发件人账户、邮件模板、任务日志进行备份和恢复。
Q3: java如何实现批量发送邮件
1.要想效率发邮件可以用多线程每个线程发指定批量的邮件
2.要想不被查封为垃圾邮件,这个就有很多地方要注意了
邮件的内容不要含有太多图片信息,内容尽量简洁,不要涉及一些淫秽色情的东西。
不要向同一个人发送同样的邮件。
发邮件时ip最好用代理每发送个50封邮件就换个ip,因为邮件服务器也会检查你ip在这么短时间发了这么多邮件也会认为你是恶意群发。
最好能加入邮件接收者的白名单或订阅名单
Q4: java 群发邮件问题
我以前刚刚学邮件群发java代码的时候写邮件群发是根据 封号来群发邮件群发java代码的 把填写发送地址按 ‘邮件群发java代码;’切掉 然后 for循环发送。。。现在也再也没写过发邮件了。不过以前我这样可以群发
Q5: 怎样在java project下使用swing写一个mail邮件收发软件,javax.mail在java工程下不能用。
package com.mail.test;
import java.util.Date;
import java.util.Properties;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.sql.DataSource;
import sun.misc.BASE64Encoder;
public class MailSender {
/**
* 发送单个邮件
* @throws Exception
*/
public void sendMail() throws Exception{
Properties props = new Properties();//创建属性对象
props.put("mail.smtp.host", getHost());//设置smtp服务器地址
props.put("mail.smtp.auth", "true");//设置服务器smtp需要验证
Session session = Session.getInstance(props, null);//创建新邮件并群发
//Session session = Session.getDefaultInstance(props);
//session.setDebug(true);
MimeMessage message = new MimeMessage(session);//创建过程对象
message.setFrom(new InternetAddress(getFromAddr()));
message.addRecipient(Message.RecipientType.TO,new InternetAddress(getToAddr()));
message.setSubject(getTitle());//设置主题
Multipart multipart = new MimeMultipart();
BodyPart contentPart = new MimeBodyPart();
contentPart.setContent(this.getSendtext(), "text/html;charset=GBK");//设置信件内容
multipart. addBodyPart(contentPart);
if(getAttachPath() != null getAttachName() != null){
BodyPart attachmentPart= new MimeBodyPart();
// DataSource source = new FileDataSource(getAttachPath());
// attachmentPart.setDataHandler(new DataHandler(source));
BASE64Encoder enc = new BASE64Encoder();
attachmentPart.setFileName("=?GBK?B?"+enc.encode(getAttachName().getBytes())+"?=");
multipart.addBodyPart(attachmentPart);
}
message.setContent(multipart);
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, getUsername(), getPassword());
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
/**
* 群发邮件
* @throws Exception
*/
public void sendMails() throws Exception{
Properties props = new Properties();//创建属性对象
props.put("mail.smtp.host", getHost());//设置smtp服务器地址
props.put("mail.smtp.auth", "true");//设置服务器smtp需要验证
Session session = Session.getInstance(props, null);//创建新邮件并群发
//Session session = Session.getDefaultInstance(props);
//session.setDebug(true);
MimeMessage message = new MimeMessage(session);//创建过程对象
message.setFrom(new InternetAddress(getFromAddr()));//设置发送邮件地址
message.setSentDate(new Date());//设置时间
InternetAddress[] address = new InternetAddress[this.getMutliTo().length]; //群发地址
for(int i = 0; i this.getMutliTo().length; i++) { //循环发送
address[i] = new InternetAddress((this.getMutliTo())[i]);
}
message.setRecipients(Message.RecipientType.TO, address);
// message.addRecipient(Message.RecipientType.TO,new InternetAddress(getToAddr()));
message.setSubject(getTitle());//设置主题
Multipart multipart = new MimeMultipart();
BodyPart contentPart = new MimeBodyPart();
contentPart.setContent(this.getSendtext(), "text/html;charset=GBK");//设置信件内容
multipart. addBodyPart(contentPart);
if(getAttachPath() != null getAttachName() != null){
BodyPart attachmentPart= new MimeBodyPart();
// DataSource source = new FileDataSource(getAttachPath());
// attachmentPart.setDataHandler(new DataHandler(source));
BASE64Encoder enc = new BASE64Encoder();
attachmentPart.setFileName("=?GBK?B?"+enc.encode(getAttachName().getBytes())+"?=");
multipart.addBodyPart(attachmentPart);
}
message.setContent(multipart);
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, getUsername(), getPassword());
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
private String host = null; //邮件服务器
private String fromAddr = null; //发送邮件地址
private String toAddr = null; //接收邮件地址
private String username = null; //发送邮件用户名
private String password = null; //发送邮件密码
private String title = null; //邮件标题
private String attachPath = null; //邮件附件路径
private String attachName = null; //邮件附件名
private String sendtext = null; //邮件内容
private String[] MutliTo = null; //群发用户
public String[] getMutliTo() {
return MutliTo;
}
public void setMutliTo(String[] mutliTo) {
MutliTo = mutliTo;
}
public String getSendtext() {
return sendtext;
}
public void setSendtext(String sendtext) {
this.sendtext = sendtext;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getFromAddr() {
return fromAddr;
}
public void setFromAddr(String fromAddr) {
this.fromAddr = fromAddr;
}
public String getToAddr() {
return toAddr;
}
public void setToAddr(String toAddr) {
this.toAddr = toAddr;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAttachPath() {
return attachPath;
}
public void setAttachPath(String attachPath) {
this.attachPath = attachPath;
}
public String getAttachName() {
return attachName;
}
public void setAttachName(String attachName) {
this.attachName = attachName;
}
}
关于邮件群发java代码和java实现邮件发送功能代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






