JAVA开发_发送邮件
来源:互联网 发布:nba2k16捏脸数据大全 编辑:程序博客网 时间:2024/06/10 10:56
获取邮箱
- 邮件调用入口
/** * mailList 收件箱列表 * subject 主题 * content 正文 */MailSenderFactory.getSender().send(mailList, subject,content);
- 发件箱工厂
/** * 发件箱工厂 * @author zhufj * @2015-5-29 下午1:36:36 */public class MailSenderFactory { //服务邮箱 private static SimpleMailSender serviceSms = null; private static final String host = SpringConfigUtil.getProperties("mail.host"); //smtp地址 private static final String username = SpringConfigUtil.getProperties("mail.username"); //邮箱用户名 private static final String password = SpringConfigUtil.getProperties("mail.password"); //邮箱密码 private static final String fromName = SpringConfigUtil.getProperties("mail.fromName"); //发件人显示名字 private static final String fromAddress = SpringConfigUtil.getProperties("mail.fromAddress"); //邮箱地址 private static final String auth = SpringConfigUtil.getProperties("mail.auth"); //是否需要验证 /** * 获取邮箱 * * @param type 邮箱类型 * @return 符合类型的邮箱 */ public static SimpleMailSender getSender() { if (serviceSms == null) { serviceSms = new SimpleMailSender(host,username,password,fromName,fromAddress,auth); } return serviceSms; }}
- 简单邮件发送器
/** * 简单邮件发送器,可单发,群发。 * @author zhufj * @2015-5-29 下午1:37:36 */public class SimpleMailSender { /** * 发送邮件的props文件 */ private final transient Properties props = System.getProperties(); /** * 邮件服务器登录验证 */ private transient MailAuthenticator authenticator; /** * 邮箱session */ private transient Session session; /** * 初始化邮件发送器 * @param host SMTP邮件服务器地址 * @param username 发送邮件的用户名 * @param password 发送邮件的密码 * @param fromName 发件人显示名称 * @param fromAddress 发送邮件的邮箱地址 * @param auth 是否需要验证 */ public SimpleMailSender(final String host, final String username, final String password, final String fromName,final String fromAddress , final String auth) { init(host, username,password,fromName,fromAddress,auth); } /** * 初始化 * * @param host SMTP邮件服务器地址 * @param username 发送邮件的用户名 * @param password 发送邮件的密码 * @param fromName 发件人显示名称 * @param fromAddress 发送邮件的邮箱地址 * @param auth 是否需要验证 */ private void init(String host, String username, String password, String fromName,String fromAddress, String auth ) { props.put("mail.smtp.auth", auth); //验证、或不验证 props.put("mail.smtp.host", host); // 验证 authenticator = new MailAuthenticator(username, password, fromName,fromAddress); // 创建session session = Session.getInstance(props, authenticator); } /** * 发送邮件 * * @param recipient 收件人邮箱地址 * @param subject 邮件主题 * @param content 邮件内容 * @throws AddressException * @throws MessagingException * @throws UnsupportedEncodingException */ public void send(String recipient, String subject, Object content) throws AddressException, MessagingException, UnsupportedEncodingException { // 创建mime类型邮件 final MimeMessage message = new MimeMessage(session); // 设置发信人 message.setFrom(new InternetAddress(authenticator.getFromAddress(),authenticator.getFromName())); // 设置收件人 message.setRecipient(RecipientType.TO, new InternetAddress(recipient)); // 设置主题 message.setSubject(subject); // 设置邮件内容 message.setContent(content.toString(), "text/html;charset=utf-8"); // 发送 Transport.send(message); } /** * 群发邮件 * * @param recipients 收件人们 * @param subject 主题 * @param content 内容 * @throws AddressException * @throws MessagingException * @throws UnsupportedEncodingException */ public void send(List<String> recipients, String subject, Object content) throws AddressException, MessagingException, UnsupportedEncodingException { // 创建mime类型邮件 final MimeMessage message = new MimeMessage(session); // 设置发信人 message.setFrom(new InternetAddress(authenticator.getFromAddress(),authenticator.getFromName())); // 设置收件人们 final int num = recipients.size(); InternetAddress[] addresses = new InternetAddress[num]; for (int i = 0; i < num; i++) { addresses[i] = new InternetAddress(recipients.get(i)); } message.setRecipients(RecipientType.TO, addresses); // 设置主题 message.setSubject(subject); // 设置邮件内容 message.setContent(content.toString(), "text/html;charset=utf-8"); // 发送 Transport.send(message); }}
- 服务器邮箱登录验证
import javax.mail.Authenticator;import javax.mail.PasswordAuthentication;/** * 服务器邮箱登录验证 * @author zhufj * @2015-5-29 下午1:25:56 */public class MailAuthenticator extends Authenticator { /** * 发送邮件的用户名 */ private String username; /** * 发送邮件的密码 */ private String password; /** * 发件人显示名称 */ private String fromName; /** * 发送邮件的邮箱地址 */ private String fromAddress; /** * 初始化邮箱和密码 * * @param username 发送邮件的用户名 * @param password 发送邮件的密码 * @param fromName 发件人显示名称 * @param fromAddress 发送邮件的邮箱地址 */ public MailAuthenticator(String username, String password, String fromName,String fromAddress) { this.username = username; this.password = password; this.fromName = fromName; this.fromAddress = fromAddress; } String getPassword() { return password; } @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } String getUsername() { return username; } public void setPassword(String password) { this.password = password; } public void setUsername(String username) { this.username = username; } public String getFromName() { return fromName; } public void setFromName(String fromName) { this.fromName = fromName; } public String getFromAddress() { return fromAddress; } public void setFromAddress(String fromAddress) { this.fromAddress = fromAddress; }}
0 0
- JAVA开发_发送邮件
- java开发的邮件发送程序
- java开发的邮件发送程序
- java开发-控制邮箱- 发送邮件
- Java学习笔记35_发送qq邮件
- 黑马程序员_邮件发送
- javamail开发邮件【发送邮件】
- iOS开发 邮件发送
- 邮件开发:发送程序
- [java]Java发送邮件
- java 邮件发送 --- 简单的邮件发送
- JAVA发送邮件及springboot发送邮件
- 用java发送邮件
- 用Java发送邮件
- java发送邮件源码
- java发送邮件
- Java发送邮件
- Java发送邮件程序
- c# 进行ftp操作时,遇到‘#’特殊字符处理
- final知识点
- 已安装Framework4.0,仍提示没有安装Framework4.0问题
- Responding to Click Events
- 面向对象
- JAVA开发_发送邮件
- keepalvied安装配置过程
- 第一次作业
- 总结--正则表达式验证-显示数据
- 输出该文件的总行数、空行数、注释行数、代码行数
- java 第一次作业(修改版)
- linux上发邮件:mutt+msmtp
- Android之自定义Adapter的ListView
- C/C++如何使用密码输入而不回显--getch()函数