package com.kylin.util.email;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.apache.log4j.Logger;
public class SendMail {
private static final String MAIL_USER = ""; //邮件服务器登录用户名
private static final String MAIL_PASSWORD = ""; //邮件服务器登录密码
private static final String MAIL_FROM_POP3 = "pop.gmail.com"; //发送邮件地址
private static final String MAIL_FROM_SMTP = "smtp.gmail.com"; //发送邮件地址
private static Logger logger =Logger.getLogger(SendMail.class);
/**
* @param mail 收件人
* @param subject 主题
* @param text 内容
*/
public static void sendMail(String[] mailArray,String subject,String content,String[] attracFiles) {
try {
Properties props = new Properties();
props.put("mail.smtp.host", MAIL_FROM_POP3);
props.put("mail.smtp.auth", "true");
props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.port", "465");
Session ssn = Session.getInstance(props, null);
MimeMessage message = new MimeMessage(ssn);
InternetAddress fromAddress = new InternetAddress(MAIL_FROM_POP3);
message.setFrom(fromAddress);
//循环发送
for(int i =0 ;0<mailArray.length;i++){
InternetAddress toAddress = new InternetAddress(mailArray[i]);
message.addRecipient(Message.RecipientType.TO, toAddress);
message.setSubject(subject);
message.setText(content);
Transport transport = ssn.getTransport("smtp");
transport.connect(MAIL_FROM_SMTP, MAIL_USER, MAIL_PASSWORD);
transport.sendMessage(message, message
.getRecipients(Message.RecipientType.TO));
transport.close();
logger.info("Send mail successfull.");
}
} catch (Exception m) {
System.out.println(m.toString());
}
}
/**
* @param user 邮件服务器登录用户名
* @param password 邮件服务器登录密码
* @param from 发送人邮件地址
* @param mail 收件人
* @param subject 主题
* @param text 内容
*/
// public static void sendMail(String user,String password,String from ,String mail,String subject,String text) {
//
// try {
// Properties props = new Properties();
// props.put("mail.smtp.host", "smtp.sina.com");
// props.put("mail.smtp.auth", "true");
// Session ssn = Session.getInstance(props, null);
// MimeMessage message = new MimeMessage(ssn);
// InternetAddress fromAddress = new InternetAddress(from);
// message.setFrom(fromAddress);
// InternetAddress toAddress = new InternetAddress(mail);
// message.addRecipient(Message.RecipientType.TO, toAddress);
// message.setSubject(subject);
// message.setText(text);
// Transport transport = ssn.getTransport("smtp");
// transport.connect("smtp.sina.com", user, password);
// transport.sendMessage(message, message
// .getRecipients(Message.RecipientType.TO));
// transport.close();
// System.out.println("你的邮件已发出");
// } catch (Exception m) {
// System.out.println(m.toString());
// }
// }
/**
* @param args
*/
public static void main(String[] args) {
Date date =new Date();
SimpleDateFormat simpledateformat =new SimpleDateFormat("yyyy-MM-dd HH:MM:ss SS");
String[] mailArray ={"corelengine@126.com"};
String[] attractfilesArray ={"c:\\1.rar"};
//发邮件数目
int sendmailnum = 10;
for(int i = 0; i < sendmailnum; i++) {
// sendMail("xxxxxx@126.com", "测试", "我是随机数:" + RandomPassword.getRandom(50));
sendMail(mailArray, "系统邮件", "发送时间:" + simpledateformat.format(date),attractfilesArray);
}
}
}
分享到:
相关推荐
### javamail群发邮件知识点解析 #### 一、JavaMail概述 JavaMail API是由Sun Microsystems提供的用于在Java应用程序中发送和接收电子邮件的标准接口。它支持多种协议(如SMTP、IMAP、POP3等),使得开发者能够轻松...
以上就是使用 JavaMail 源码发送群发邮件涉及的核心知识点,包括了邮件API的使用、SMTP协议、HTML邮件内容的构建以及群发功能的实现。理解并掌握这些内容,你就能创建一个功能丰富的邮件发送程序。
JavaMail 是一个强大的开源库,用于在 Java 应用程序中处理电子邮件的发送和接收。它提供了丰富的 API,使得开发者可以方便地...通过这个简单的示例,你应该已经掌握了使用 JavaMail 进行邮件群发和单发的核心概念。
在本文中,我们将深入探讨如何使用 JavaMail 实现群发邮件的功能。 首先,要使用 JavaMail 发送邮件,我们需要添加其依赖到项目中。如果你使用的是 Maven,可以在 `pom.xml` 文件中添加以下依赖: ```xml ...
在JavaMail中实现多线程群发邮件是一项常见的需求,特别是在需要向大量用户发送通知或营销信息时。多线程技术的应用能显著提高发送效率,减少单一线程可能带来的等待时间。 在“javamail 多线程群发”的场景中,...
JavaMail 是一个开源的 Java 库,用于在 Java 应用程序中实现电子邮件的发送和接收。这个小程序可能包含了一套完整的类,可以帮助开发者快速构建邮件发送功能,无需从头开始编写所有必需的代码。 JavaMail 提供了对...
利用Java mail发送邮件,用到的一些类,一些方法,写的很简陋
在这个项目中,我们将会探讨如何使用 JavaMail 实现单发和群发邮件的操作。 首先,为了使用 JavaMail 发送邮件,我们需要引入相关的依赖。在 Maven 项目中,可以在 `pom.xml` 文件中添加以下依赖: ```xml ...
总结,基于 JavaMail 的电子邮件群发实现了高效、便捷的信息发布。通过使用 JavaMail API,开发者可以创建自己的邮件客户端或服务端应用程序,处理各种邮件协议,并利用多线程技术提高邮件发送的效率。同时,配合 ...
JavaMail 是一个开源的 Java API,它允许开发者在 Java 应用程序中添加发送和接收电子邮件的功能。...这个项目不仅提供了基础的邮件发送功能,还支持群发,体现了 JavaMail API 的强大功能和灵活性。
JavaMail API 是一个开源的Java库,用于处理电子邮件的创建、发送和接收。这个API提供了一组接口和类,使得开发者能够直接与SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)服务器进行交互...
本项目聚焦于“群发邮件”与“人员信息管理”,结合数据库操作,实现了一个功能完善的系统。以下是对这个系统及其相关知识点的详细阐述。 首先,人员信息管理是系统的核心部分,它涉及到数据库的设计与操作。数据库...
在Java编程环境中,实现邮件群发是一项常见的任务,特别是在企业级应用中,如发送通知、报告或者营销信息。本文将详细讲解如何利用Java技术进行邮件群发,同时也会涉及.NET框架的一些基本概念,以及数据库在其中的...
群发邮件源码是用于批量发送电子邮件的程序代码,它可以帮助用户一次性向多个收件人发送相同的或定制的邮件内容,常被用在营销、通知或者信息传递等场景。了解和掌握群发邮件源码的知识点,对于进行电子邮件营销或者...
在邮件群发的场景下,JSP将负责构建邮件内容并调用JavaMail API进行邮件发送。 JavaMail API是Java平台用于处理电子邮件的标准API,它提供了创建、发送和接收邮件的功能。要使用JavaMail,我们需要在项目中引入相关...
总结来说,Java实现邮件群发涉及的关键知识点包括:JavaMail API的使用,配置SMTP服务器参数,创建和发送`MimeMessage`,以及在多收件人场景下的邮件发送逻辑。通过深入理解这些概念并实践,开发者可以有效地实现...
4. **编程语言选择**:编写群发邮件程序可以使用多种编程语言,如Python(使用`smtplib`库)、Java(使用`JavaMail` API)、PHP(使用`PHPMailer`库)等。这里提到的是“自己写的一个”,所以我们可以假设这是一个...
首先,要实现Java邮件发送,我们需要引入JavaMail API。这是一个开源的Java库,提供了发送和接收邮件的标准API。你可以通过Maven或Gradle将其添加到项目依赖中。对于Maven,可以在`pom.xml`文件中添加以下依赖: ``...
本项目“java读取数据库群发邮件”是利用Java技术来实现从Access数据库中获取数据,并根据这些数据进行邮件群发的功能。Access是一款由Microsoft开发的关系型数据库管理系统,适合小型企业和个人用户存储和管理数据...
5. **群发邮件**:在实际应用中,群发邮件可能涉及到大量收件人。为了避免将所有收件人显示在“抄送”或“密送”字段,可以创建多个 Message 对象,每个对象对应一组收件人,然后分别发送。也可以使用 Bcc(Blind ...