Java Mail实现邮件发送

现在网站为了防止恶意注册,一般用户必须进行激活账户,然后才算激活成功,这样可以在一定程度上减少恶意攻击。本博客使用JavaMail提供方法实现。

 java mail 发送邮件步骤

(1)  创建邮件发送信息Properties文件

Properties props = new Properties();

props.setProperty("mail.smtp.auth", "true");//发送邮件时是否进行验证

props.setProperty("mail.transport.protocol", "smtp");//邮件协议pop3或smtp

(2) 创建邮件会话Session

Session session =Session.getInstance(props);//使用上一步创建的Properpties

(3) 创建邮件Message

Message msg = newMimeMessage(session);

//设置邮件主题

msg.setSubject("遂平县仁安医院欢迎您的注册");

//设置邮件内容

msg.setContent("邮件内容","text/html;charset=utf-8");

//设置邮件发件人

msg.setFrom(new InternetAddress("xxxx@163.com"));//服务器账户

//设置邮件发送日期

msg.setSentDate(new Date());

(4)创建发送邮件

      Transport transport =session.getTransport();

      //登录服务器发送邮件时,进行身份验证

transport.connect("smtp.163.com",25, "xxxx163", "xxxx");

//发送邮件

      transport.sendMessage(msg,

new Address[]{newInternetAddress(map.get("email").toString())});

      transport.close();


具体里子如下:

public static void sendAccountActivateEmail(Map<String, Object> map) { 
Properties props = new Properties();
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");
Session session = Session.getInstance(props);
//session.setDebug(true);
Message msg = new MimeMessage(session);
//msg.setContent("<a href='http://localhost:8080/Project/patient_activateAccount.action' >点击激活用户</a>,如果不是您没注册,请忽略此邮件", "text/html;charset=utf-8");
try {
msg.setContent("<a href='"+GenerateLinkUtils.generateActivateLink(map)+"' >点击激活用户</a>,如果不是您没注册,请忽略并删除此邮件","text/html;charset=utf-8");
msg.setFrom(new InternetAddress("xxxx@163.com"));//此处邮箱换成你自己服务器邮箱
msg.setSubject("遂平县仁安医院欢迎您的注册");
msg.setSentDate(new Date());
Transport transport = session.getTransport();
transport.connect("smtp.163.com", 25, "username", "password");
transport.sendMessage(msg,
new Address[]{new InternetAddress(map.get("email").toString())});
transport.close();
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值