问题:用java实现服务器发送激活码到用户邮件。
步骤一:如果是个人的话,确保在本地安装邮件服务器(易邮服务器)和邮件客户端(foxmail)。
步骤二:导入jar包 mail.jar,其他的需要什么协议导什么jar。
package cn.itcast.store.utils; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMessage.RecipientType; public class MailUtils { public static void sendMail(String email, String emailMsg) throws AddressException, MessagingException { // 1.创建一个程序与邮件服务器会话对象 Session Properties props = new Properties(); //设置发送的协议 //props.setProperty("mail.transport.protocol", "SMTP"); //设置发送邮件的服务器 //props.setProperty("mail.host", "smtp.126.com"); //props.setProperty("mail.smtp.auth", "true");// 指定验证为true // 创建验证器 Authenticator auth = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { //设置发送人的帐号和密码 return new PasswordAuthentication("admin", "[email protected]"); } }; Session session = Session.getInstance(props, auth); // 2.创建一个Message,它相当于是邮件内容 Message message = new MimeMessage(session); //设置发送者 message.setFrom(new InternetAddress("[email protected]")); //设置发送方式与接收者 message.setRecipient(RecipientType.TO, new InternetAddress(email)); //设置邮件主题 message.setSubject("用户激活"); // message.setText("这是一封激活邮件,请<a href=‘#‘>点击</a>"); String url="http://localhost:8080/MyTomcat/UserServlet?method=active&code="+emailMsg; String content="<h1>来自购物天堂的激活邮件!激活请点击以下链接!</h1><h3><a href=‘"+url+"‘>"+url+"</a></h3>"; //设置邮件内容 message.setContent(content, "text/html;charset=utf-8"); // 3.创建 Transport用于将邮件发送 Transport.send(message); } public static void main(String[] args) throws AddressException, MessagingException { MailUtils.sendMail("[email protected]", "abcdefg"); } }
原文地址:https://www.cnblogs.com/ends-earth/p/10804965.html
时间: 2024-10-12 07:30:43