62,614
社区成员
发帖
与我相关
我的任务
分享
public static boolean sendEmails(String content, String title, String[] address) {
if (title.length() > 30) {
title = title.substring(0, 30) + "...";
}
String receivers = "";
boolean isSend = false;
try {
Address[] tos = null;
if (address != null && address.length != 0) {
tos = new InternetAddress[address.length];
for (int i = 0; i < address.length; i++) {
String s = address[i];
tos[i] = new InternetAddress(s);
receivers += s + ",";
}
}
Properties p = new Properties();
p.put("mail.smtp.auth", "true");
p.put("mail.transport.protocol", "smtp");
p.put("mail.smtp.host", "mail.XXX.com");
p.put("mail.smtp.port", "25");
Session session = Session.getInstance(p);
Message msg = new MimeMessage(session);
msg.setContent(content, "text/html;charset=utf8");
msg.setFrom(new InternetAddress("XXX@XXX.com"));
msg.setRecipients(Message.RecipientType.TO, tos);
msg.setSentDate(new Date());
msg.setSubject(title);
msg.setContent(content, "text/html;charset=utf8");
Transport tran = session.getTransport("smtp");
tran.connect("mail.XXX.com", "XXX@XXX.com", "XXXXXX");
tran.sendMessage(msg, msg.getAllRecipients());
tran.isConnected();
isSend = true;
} catch (Exception e) {
isSend = false;
}
return isSend;
}
[/quote]
将收件人地址设置成InternetAddress[] 具体操作为:
InternetAddress[] tos= new InternetAddress[address.length];
for (int i = 0; i < address.length; i++) {
if(!address[i].trim().matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)+$")){
System.exit(-1);
}
tos[i] = new InternetAddress(address[i].trim());
}
mimeMsg.setRecipients(MimeMessage.RecipientType.TO,tos);//设置收件人,抄送
这样可以跳过不存在的地址。
实例地址 http://download.csdn.net/detail/wenxinhanmei/5397705 java邮件发送程序,在配置文件中配置配置邮件内容,收件人信息。[/quote]
不是地址格式上的检测,是某个邮箱地址看上去是合法,但实际不存在这个用户的情况下 就会失败,也不能跳过有问题的地址继续发送[/quote]
用InternetAddress[] 设置收件人地址,就会跳过不存在地址,继续发送。上面的实例是测试通过的。public static boolean sendEmails(String content, String title, String[] address) {
if (title.length() > 30) {
title = title.substring(0, 30) + "...";
}
String receivers = "";
boolean isSend = false;
try {
Address[] tos = null;
if (address != null && address.length != 0) {
tos = new InternetAddress[address.length];
for (int i = 0; i < address.length; i++) {
String s = address[i];
tos[i] = new InternetAddress(s);
receivers += s + ",";
}
}
Properties p = new Properties();
p.put("mail.smtp.auth", "true");
p.put("mail.transport.protocol", "smtp");
p.put("mail.smtp.host", "mail.XXX.com");
p.put("mail.smtp.port", "25");
Session session = Session.getInstance(p);
Message msg = new MimeMessage(session);
msg.setContent(content, "text/html;charset=utf8");
msg.setFrom(new InternetAddress("XXX@XXX.com"));
msg.setRecipients(Message.RecipientType.TO, tos);
msg.setSentDate(new Date());
msg.setSubject(title);
msg.setContent(content, "text/html;charset=utf8");
Transport tran = session.getTransport("smtp");
tran.connect("mail.XXX.com", "XXX@XXX.com", "XXXXXX");
tran.sendMessage(msg, msg.getAllRecipients());
tran.isConnected();
isSend = true;
} catch (Exception e) {
isSend = false;
}
return isSend;
}
[/quote]
将收件人地址设置成InternetAddress[] 具体操作为:
InternetAddress[] tos= new InternetAddress[address.length];
for (int i = 0; i < address.length; i++) {
if(!address[i].trim().matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)+$")){
System.exit(-1);
}
tos[i] = new InternetAddress(address[i].trim());
}
mimeMsg.setRecipients(MimeMessage.RecipientType.TO,tos);//设置收件人,抄送
这样可以跳过不存在的地址。
实例地址 http://download.csdn.net/detail/wenxinhanmei/5397705 java邮件发送程序,在配置文件中配置配置邮件内容,收件人信息。[/quote]
不是地址格式上的检测,是某个邮箱地址看上去是合法,但实际不存在这个用户的情况下 就会失败,也不能跳过有问题的地址继续发送public static boolean sendEmails(String content, String title, String[] address) {
if (title.length() > 30) {
title = title.substring(0, 30) + "...";
}
String receivers = "";
boolean isSend = false;
try {
Address[] tos = null;
if (address != null && address.length != 0) {
tos = new InternetAddress[address.length];
for (int i = 0; i < address.length; i++) {
String s = address[i];
tos[i] = new InternetAddress(s);
receivers += s + ",";
}
}
Properties p = new Properties();
p.put("mail.smtp.auth", "true");
p.put("mail.transport.protocol", "smtp");
p.put("mail.smtp.host", "mail.XXX.com");
p.put("mail.smtp.port", "25");
Session session = Session.getInstance(p);
Message msg = new MimeMessage(session);
msg.setContent(content, "text/html;charset=utf8");
msg.setFrom(new InternetAddress("XXX@XXX.com"));
msg.setRecipients(Message.RecipientType.TO, tos);
msg.setSentDate(new Date());
msg.setSubject(title);
msg.setContent(content, "text/html;charset=utf8");
Transport tran = session.getTransport("smtp");
tran.connect("mail.XXX.com", "XXX@XXX.com", "XXXXXX");
tran.sendMessage(msg, msg.getAllRecipients());
tran.isConnected();
isSend = true;
} catch (Exception e) {
isSend = false;
}
return isSend;
}
[/quote]
将收件人地址设置成InternetAddress[] 具体操作为:
InternetAddress[] tos= new InternetAddress[address.length];
for (int i = 0; i < address.length; i++) {
if(!address[i].trim().matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)+$")){
System.exit(-1);
}
tos[i] = new InternetAddress(address[i].trim());
}
mimeMsg.setRecipients(MimeMessage.RecipientType.TO,tos);//设置收件人,抄送
这样可以跳过不存在的地址。
实例地址 http://download.csdn.net/detail/wenxinhanmei/5397705 java邮件发送程序,在配置文件中配置配置邮件内容,收件人信息。public static boolean sendEmails(String content, String title, String[] address) {
if (title.length() > 30) {
title = title.substring(0, 30) + "...";
}
String receivers = "";
boolean isSend = false;
try {
Address[] tos = null;
if (address != null && address.length != 0) {
tos = new InternetAddress[address.length];
for (int i = 0; i < address.length; i++) {
String s = address[i];
tos[i] = new InternetAddress(s);
receivers += s + ",";
}
}
Properties p = new Properties();
p.put("mail.smtp.auth", "true");
p.put("mail.transport.protocol", "smtp");
p.put("mail.smtp.host", "mail.XXX.com");
p.put("mail.smtp.port", "25");
Session session = Session.getInstance(p);
Message msg = new MimeMessage(session);
msg.setContent(content, "text/html;charset=utf8");
msg.setFrom(new InternetAddress("XXX@XXX.com"));
msg.setRecipients(Message.RecipientType.TO, tos);
msg.setSentDate(new Date());
msg.setSubject(title);
msg.setContent(content, "text/html;charset=utf8");
Transport tran = session.getTransport("smtp");
tran.connect("mail.XXX.com", "XXX@XXX.com", "XXXXXX");
tran.sendMessage(msg, msg.getAllRecipients());
tran.isConnected();
isSend = true;
} catch (Exception e) {
isSend = false;
}
return isSend;
}