java发送邮件简单实例,先把所需要相关javamail的包准备好。
实现代码如下:
/**
*
* @param host 发送邮件服务器的IP
* @param from 发送人地址
* @param to 接收人地址
* @param subject 邮件主题
* @param htmltext 内容
* @param senderUsername 发送人的账户
* @param senderPassword 发送人的密码
* mail.smtp.auth 是否需要身份验证 一般都是需要的
*/
public static void sendMail(String host, String from, String to, String subject, String htmltext,
final String Username, final String Password){
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
props.put("mail.debug", "true");//设置是否显示debug信息 true 会在控制台显示相关信息
//得到会话对象
Session session = Session.getDefaultInstance(props, new Authenticator() {
@Override
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(Username, Password);
}
});
try {
// 获取邮件对象
MimeMessage message = new MimeMessage(session);
//设置发件人地址
message.setFrom(new InternetAddress(from));
//设置多个收件人地址
String[] mailArray = to.split(";");
StringBuffer toList = new StringBuffer();
int length = mailArray.length;
if(to!=null && length <2){
toList.append(mailArray[0]);
}else{
for(int i=0;i<length;i++){
toList.append(mailArray[i]);
if(i!=(length-1)){
toList.append(",");
}
}
}
String toList1=toList.toString();
//String toList1=getMailList(to);
InternetAddress[] iaToList = new InternetAddress().parse(toList1);
message.addRecipients(RecipientType.TO,iaToList);
// 设置邮件的接收人地址--方法一 (选其一即可)
// Address[] address = new Address[]{new InternetAddress("1234567@qq.com"),"...更多列表..."};
// message.setReplyTo(addresses);
// 设置邮件的接收人地址--方法二 (选其一即可)
// 如果群发邮件,收件人较多,可另写一个方法用于专门循环遍历并设置接收人
// message.addRecipient(Message.RecipientType.TO, new InternetAddress("123456@qq.com"));
// 发送日期
//message.setSentDate(new Date());
//设置邮件标题
message.setSubject(subject);
//设置邮件内容
//message.setText(text);//text内容
message.setContent(htmltext, "text/html;charset=utf-8");//实现发送html内容的邮件
//得到邮差对象, 发送邮件
Transport.send(message);
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}