java发送邮件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java发送邮件相关的知识,希望对你有一定的参考价值。

前提:导入发Java邮件的jar包:
activation.jar additionnal.jar(第三方客户端,没有时会) mail.jar
additionnal.jar(第三方客户端,没有时会出现在什么路径下,系统文件找不到)
步骤一:编写发邮件类
package com.gl.util;


import java.util.Properties

import javax.mail.*;
import javax.mail.internet.*;


public class MailUtil {
//传入发邮件的地址和邮件激活码
public static void sendMail(String to,String code){
//发送邮件的服务器
String host = "smtp.qq.com";
//用户名
String username="[email protected]";
//第三方客户端验证密码,需要在QQ邮箱的账户/SMTP/POP3/IMAP下开启/SMTP/POP3
//发短信得到第三方客户端登录验证密码
String password="************";
//Session对象
Properties props = new Properties();
props.put("mail.smtp.host", host);
//发送邮件的端口号
props.put("mail.smtp.port", "465");
/* props.put("mail.transport.protocol", "smtp");*/
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.ssl.enable","true");///使用 STARTTLS安全连接
props.put("mail.debug", "true");
Session session = Session.getDefaultInstance(props);

//Message对象
MimeMessage message = new MimeMessage(session);
// 设置发件人
try {
message.setFrom(new InternetAddress(username));
//设置收件人
message.setRecipients(Message.RecipientType.TO,to);
//设置主题
message.setSubject("来自于xionger商城的账号激活邮件");

//设置内容
message.setContent("<h1>来自于熊二商城的账号激活邮件!激活请点击以下链接</h1><br><h3><a href=‘http://localhost:8888/shop/usersActive.action?Users.u_code="+code+"‘>http://localhost:8888/shop/register.action?code="+code+"</a></h3>","text/html;charset=UTF-8");

message.saveChanges(); // implicit with send()

Transport transport = session.getTransport("smtp");

transport.connect(host, username, password);

transport.sendMessage(message, message.getAllRecipients());

transport.close();



} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
第二步:实现类,调用发邮件的方法(注册等等),此例是struts
public String Reg(){
UsersServiceImpl usersServiceImpl=(UsersServiceImpl) ac.getBean("usersService");
users.setU_state(false);
String u_code = UUID.randomUUID().toString().replace("-","");
System.out.println(u_code);
System.out.println(users.getU_email());
users.setU_code(u_code);
usersServiceImpl.save(users);
MailUtil.sendMail(users.getU_email(),u_code);
return "regOK";
}

 

































































以上是关于java发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

java如何实现批量发送邮件

用java写一个邮件发送代码

java Mail 发送外部邮件失败,求解,

java Mail 发送外部邮件失败,求解,

java 发送邮件

使用 Java 发送邮件