发送邮件 java
来源:互联网 发布:arm怎么进行编程 编辑:程序博客网 时间:2024/05/16 15:32
1、验证发送邮件的邮箱
package com.easyoa.util; import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class Email_Authenticator extends Authenticator {
String username = "你的邮箱";String password = “邮箱密码”;public Email_Authenticator() {
super();
}public Email_Authenticator(String user,String pwd){
super();username = user;password = pwd;
}public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(username,password);
}
}
2、发送邮件给对方,使用的是163的邮箱,所以host设置为“smtp.163.com”;
private String host = “smtp.163.com”;
private String mail_head_name = “邮件主题”;
private String mail_head_value = “邮件主题”;
private String mail_from = “发送邮件的邮箱”;
/**
* 邮件推送功能,
* @param mail_to ,对方邮箱,数组,可群发
* @param mail_subject,邮件标题
* @param mail_body, 邮件文字内容
* @param personalName,自己邮件中发件箱中的标题
* @param file,邮件附件数组,附件路径
* @return
*/
@Transactional(propagation=Propagation.REQUIRED,readOnly=false,rollbackFor=Exception.class)
public boolean sendTransferMessage(String[] mail_to,String mail_subject,String mail_body,String personalName,String[] file)
throws Exception{
boolean flag = true;
try {
Properties props = new Properties();//获取系统环境
Authenticator auth = new Email_Authenticator();//进行邮件服务用户认证
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
System.out.println(props);
Session session = Session.getDefaultInstance(props,auth);
//设置session,和邮件服务器进行通讯
MimeMessage message = new MimeMessage(session);
message.setSubject(mail_subject);//设置邮件主题
message.setHeader(mail_head_name, mail_head_value);//设置邮件标题
message.setSentDate(new Date());//设置邮件发送时期
//邮件内容
MimeMultipart multipart = new MimeMultipart();
BodyPart msgBodyPart = new MimeBodyPart();//用来放置文本内容
msgBodyPart.setContent(mail_body,
"text/html;charset=UTF-8");
multipart.addBodyPart(msgBodyPart);
//添加附件,多附件
BodyPart attBodyPart ;
DataSource ds ;
if(file!=null&&file.length>0){
for (int i=0;i<file.length;i++){
attBodyPart = new MimeBodyPart();//用来放置附件
ds = new FileDataSource(new File(file[i]));
attBodyPart.setDataHandler(new DataHandler(ds));//设置DataHandler
attBodyPart.setFileName(ds.getName());//附件的显示名字
multipart.addBodyPart(attBodyPart);
}
}
//将邮件内容和附件加入到信息中
message.setContent(multipart);
Address address = new InternetAddress(mail_from,personalName);
message.setFrom(address);//设置邮件发送者的地址
// Address toaddress = new InternetAddress(mail_to);//设置邮件接收者的地址
// message.addRecipient(Message.RecipientType.TO,toaddress);
if(mail_to!=null&&mail_to.length>0){
Address[] toaddress = new InternetAddress[mail_to.length];
for(int i=0;i<mail_to.length;i++){
toaddress[i]=new InternetAddress(mail_to[i]);
}
message.addRecipients(Message.RecipientType.TO, toaddress);
System.out.println(message);
Transport.send(message);
}
System.out.println("Send Mail Ok!");
} catch (Exception e) {
e.printStackTrace();
throw e;
}
return flag;
}
- [java]Java发送邮件
- java 邮件发送 --- 简单的邮件发送
- JAVA发送邮件及springboot发送邮件
- 用java发送邮件
- 用Java发送邮件
- java发送邮件源码
- java发送邮件
- Java发送邮件
- Java发送邮件程序
- java发送Email邮件
- 怎样用java发送邮件
- 利用java发送邮件
- java 邮件发送
- java邮件发送
- java邮件发送
- java定时发送邮件
- java发送邮件代码
- Java Mail 发送邮件
- java 反编译
- SQL Server 强大的分区技术优化执行计划索引实例详解(使用语句检测和优化数据库 (MSSQL个人笔记之数据库优化之路 四)
- LINUX下获取网卡IP地址和MAC地址,子网掩码程序参考
- oracle同义词
- 点击listitem按下效果替换默认颜色
- 发送邮件 java
- C 二维字符数组初始化思考
- objective-c 内存管理
- C 动态内存分配 ,用星号绘出正态分布
- 基于ActiveX控件技术的B/S模式单点登录方法
- ViewController
- 使用Hibernate 字符串 字段输出 错误char varchar 转string 的区别
- 关于source /etc/profile命令
- 使用GDAL读取影像