javaX邮件发送
/**
*
*
* @param mailServerHost 邮件服务器
* @param mailServerPort 端口
* @param validate 是否需要身份验证
* @param userName 用户
* @param password 密码
* @param fromAddress 发送地址
* @param getToAddress 收件地址
* @param getSubject //邮件主题
* @param getContent //邮件内容
* @param filePath //邮件附件路径
* @param fileName //附件名
* @return
*/
def sendMail(mailServerHost ,mailServerPort,validate
,userName,password,fromAddress,getToAddress,getSubject,getContent,filePath,fileName){
/*// 发送邮件的服务器的IP和端口
String mailServerHost = grailsApplication.config.getProperty('smtphost')
String mailServerPort = grailsApplication.config.getProperty('smtpport')
// 邮件发送者的地址
String fromAddress = grailsApplication.config.getProperty('smtpfrom')
// 登陆邮件发送服务器的用户名和密码
String userName = grailsApplication.config.getProperty('smtpuser')
String password = grailsApplication.config.getProperty('smtppswd')
// 是否需要身份验证
boolean validate = grailsApplication.config.getProperty('smtpvalidate')*/
Properties p = new Properties();
p.put("mail.smtp.host", mailServerHost);
p.put("mail.smtp.port", mailServerPort);
p.put("mail.smtp.auth", validate ? "true" : "false");
p.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
// 判断是否需要身份认证
MyAuthenticator authenticator = null;
//如果需要身份认证,则创建一个密码验证器
if ( validate ) {
authenticator = new MyAuthenticator( userName, password );
}
// 根据邮件会话属性和密码验证器构造一个发送邮件的session
Session sendMailSession = Session.getDefaultInstance(p,authenticator);
try {
// 根据session创建一个邮件消息
Message mailMessage = new MimeMessage(sendMailSession);
// 创建邮件发送者地址
Address from = new InternetAddress(fromAddress);
// 设置邮件消息的发送者
mailMessage.setFrom(from);
// 创建邮件的接收者地址,并设置到邮件消息中
InternetAddress to = new InternetAddress(getToAddress);
mailMessage.setRecipient(Message.RecipientType.TO, to);
// 设置邮件消息的主题
mailMessage.setSubject(getSubject);
// 设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
// MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象
Multipart mainPart = new MimeMultipart();
// 创建一个包含HTML内容的MimeBodyPart
BodyPart html = new MimeBodyPart();
// 设置HTML内容 建立第一部分: 文本正文
html.setContent(getContent, "text/html; charset=utf-8");
mainPart.addBodyPart(html);
// 将MiniMultipart对象设置为邮件内容 建立第二部分:附件
mailMessage.setContent(mainPart);
File tempFile = new File(filePath);
if (tempFile.exists()){
// 建立第二部分:附件
html = new MimeBodyPart();
// 获得附件
DataSource source = new FileDataSource(tempFile);
//设置附件的数据处理器
html.setDataHandler(new DataHandler(source));
// 设置附件文件名
html.setFileName(MimeUtility.encodeText(fileName));
// 加入第二部分
mainPart.addBodyPart(html);
}
/*if(mailInfo.getAttachFileNames() !=null && mailInfo.getAttachFileNames().length>0){
for(int i=0;i<mailInfo.getAttachFileNames().length;i++){
if (!mailInfo.getAttachFileNames()[i].equals("")) {
File tempFile =new File(mailInfo.getAttachFileNames()[i]);
if (tempFile.exists()){
// 建立第二部分:附件
html = new MimeBodyPart();
// 获得附件
DataSource source = new FileDataSource(mailInfo.getAttachFileNames()[i]);
//设置附件的数据处理器
html.setDataHandler(new DataHandler(source));
// 设置附件文件名
String fileNm="";
try {
fileNm=MimeUtility.encodeText(tempFile.getName());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
html.setFileName(fileNm);
// 加入第二部分
mainPart.addBodyPart(html);
}
}
}
}*/
// 发送邮件
Transport.send(mailMessage);
return true;
} catch (MessagingException ex) {
log.error("邮件发送失败", ex)
}
return false;
如有雷同、请见谅
javaX邮件发送的更多相关文章
- java使用javax.mail进行免费的邮件发送
1. 建议发送方使用阿里云邮箱https://mail.aliyun.com/,阿里云默认是开启个人邮箱pop3.smtp协议的,所以无需在阿里云邮箱里设置,pop3.smtp的密码默认邮箱登录密码, ...
- SSH项目里面 忘记密码的邮件发送功能
package com.xxx.util; import java.util.Date; import java.util.Properties; import javax.mail.Address; ...
- java spring 邮件发送
开发中经常会遇到发送邮件进行用户验证,或者其它推送信息的情况,本文基于spring,完成邮件的发送,主要支持普通文本邮件的发送,html文本邮件的发送,带附件的邮件发送,没有实现群发.多个附件发送等需 ...
- Jenkins邮件配置,实现邮件发送策略(可实现每个Job对应不同的发送邮箱)
前言: 首先,要有一个用来发送的邮箱,首选网易!参考:http://www.cnblogs.com/EasonJim/p/6051636.html,这里我注册了网易的免费企业邮箱. 并且我新建没多个邮 ...
- 【Java EE 学习 21 下】【使用java实现邮件发送、邮件验证】
一.邮件发送 1.邮件发送使用SMTP协议或者IMAP协议,这里使用SMTP协议演示. SMTP协议使用的端口号:25 rfc821详细记载了该协议的相关信息 (1)使用telnet发送邮件(使用12 ...
- JAVA邮件发送的简单实现
JAVA MAIL是利用现有的邮件账户发送邮件的工具,比如说,我在网易注册一个邮箱账户,通过JAVA Mail的操控,我可以不亲自登录网易邮箱,让程序自动的使用网易邮箱发送邮件.这一机制被广泛的用在注 ...
- java实现smtp邮件发送
一.准备工作 首先你需要已一个发送邮箱,一般的邮箱都有SMTP.POP3服务,比如QQ邮箱,登陆QQ邮箱开启SMTP服务,开启是服务器会提示你设置独立密码,这个密码是跟邮箱正常登陆的密码不同的,这个是 ...
- 使用spring的邮件发送功能
使用spring提供的MailSender和JavaMailSender类. 1.邮件对象类 package cn.luxh.app.mail; import java.util.List; impo ...
- Java实现多线程邮件发送
利用java多线程技术配合线程池实现多任务邮件发送. 1.基本邮件发送MailSender package hk.buttonwood.ops.email; import java.io.File; ...
随机推荐
- 原生ajax、XMLHttpRequest和FetchAPI简单描述
什么是ajax ajax的出现,刚好解决了传统方法的缺陷.AJAX 是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个 ...
- 自己做的HTML
<html> <body background="http://img1.imgtn.bdimg.com/it/u=821335874,2927998559&fm= ...
- 菜鸟崛起 DB Chapter 1 数据库概述
1. 数据库的概述 在目前阶段,如果要存储和管理数据,则离不开数据库.当数据存储到数据库后,就会通过数据库管理系统对这些数据进行组织和管理.数据库由一批数据构成有序的集合,这些数据被存放在结构化的数据 ...
- linux ccenteros 部署 redis
step one : yum install redis -- 安装redis数据库 step two:安装完成之后开启redis 服务 service redis start syste ...
- iOS之蓝牙开发—CoreBluetooth详解
CoreBluetooth的API是基于BLE4.0的标准的.这个框架涵盖了BLE标准的所有细节.仅仅只有新的iOS设备和Mac是和BLE标准兼容.在CoreBluetooth框架中,有两个主要的角色 ...
- 看我如何使用IDEA引入GitHub上的Maven项目,从Clone到打开,图文步骤,你绝对看的懂!!
废话不多说,就一个字:干! 1.登录GitHub,复制项目仓库的地址 2.打开IDEA,选择git(三种方式选择) 第一种方式: 第二种方式: 第三种方式: 选择git后 3.下面是我改存放的目录 正 ...
- pushlet(QQ提示框)
Pushlet 实现服务端往客服端推送消息 系统页面弹出消息框,类似QQ提示框 1. java代码 package com.test.jbpm.common; import java.io.Seria ...
- 更换eclipse字体
eclipse自带的字体非常不好,看的我难受,可能是使用myeclipse习惯了,怎么调节都不好使 最后决定下载一个字体包吧! 字体下载地址如下:http://files.cnblogs.com/ic ...
- JS apply 和 call 的实现
很早之前的一篇博客写了bind的实现,是基于apply的,感兴趣的朋友看完这篇文章可以接着看看bind的实现. apply 和 call 主要就是传参的区别.这里就不多说了,直接看代码. //call ...
- 通过xshell在linux上安装tomcat8
通过xshell在linux上安装tomcat8 0)去官网下载linux版压缩包(点击去下载) 1)创建存放tomcat的文件夹 mkdir /usr/tomcat 2)通过xftp将其放置到指定文 ...