4.2 Demo:发送邮件

1.首先是导入mail.jar这个包。

2.导入发送邮件的工具类MailUtils.java.如下所示:

package com.xiaowei.email;

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 {

	/*
	 * email:邮件发送给谁
	 * emailMsg:邮件的内容
	 */
	public static void sendMail(String email,String subject ,String emailMsg)
			throws AddressException, MessagingException {
		// 1.创建一个程序与邮件服务器 会话对象 Session
		Properties props = new Properties();
		props.setProperty("mail.transport.protocol", "SMTP");//发邮件的协议
		props.setProperty("mail.host", "localhost");   //发送邮件的服务器地址
		props.setProperty("mail.smtp.auth", "true");// 指定验证为true

		// 创建验证器
		Authenticator auth = new Authenticator() {
			public PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication("shate", "123456");//发邮件的账号的验证
			}
		};

		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(subject);//邮件的主题
		// message.setText("这是一封激活邮件,请<a href='#'>点击</a>");

		message.setContent(emailMsg, "text/html;charset=utf-8");

		// 3.创建 Transport用于将邮件发送
		Transport.send(message);
	}
}

3.自定义的类中调用工具类的方法发送邮件

package com.xiaowei.email;

import javax.mail.MessagingException;
import javax.mail.internet.AddressException;

public class SendEmailTest {

	public static void main(String[] args) throws AddressException, MessagingException {
		
		MailUtils.sendMail("[email protected]", "天上的月亮", "把酒当歌,人生几何");
		
	}
}

猜你喜欢

转载自blog.csdn.net/qq_43629005/article/details/84641975
4.2