天天看点

java mail 实现发送普通邮件

应用场景:可以在有异常的地方,发送邮件,比如:某某重要客户服务将要到期

第一步:导入依赖

<依赖>

<dependency>

<groupId>com.sun.mail</groupId>

<artifactId>javax.mail</artifactId>

<version>1.5.2</version>

</dependency>

第二步:demo

import java.util.Properties;

import javax.mail.Message;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

public class SendMailUtils {

public static void main() throws Exception {

Properties prop = new Properties();

prop.setProperty("mail.host", "smtp.163.com");

prop.setProperty("mail.transport.protocol", "smtp");

prop.setProperty("mail.smtp.auth", "true");

// 使用JavaMail发送邮件的5个步骤

// 1、创建session

Session session = Session.getInstance(prop);

// 开启Session的debug模式,这样就可以查看到程序发送Email的运行状态

session.setDebug(true);

// 2、通过session得到transport对象

Transport ts = session.getTransport(); // 3、使用邮箱的用户名和密码连上邮件服务器,发送邮件时,发件人需  要提交邮箱的用户名和密码给smtp服务器,用户名和密码都通过验证之后才能够正常发送邮件给收件人。

ts.connect("smtp.163.com", "[email protected]", "这里是密码");

// 4、创建邮件

Message message = createSimpleMail(session);

// 5、发送邮件

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

ts.close();

}

public static MimeMessage createSimpleMail(Session session) throws Exception {

// 创建邮件对象

MimeMessage message = new MimeMessage(session);

// 指明邮件的发件人

message.setFrom(new InternetAddress("[email protected]")); // 指明邮件的收件人,现在发件人和  收件人是一样的,那就是自己给自己发

message.setRecipient(Message.RecipientType.TO, new InternetAddress("[email protected]"));

// 邮件的标题

message.setSubject("只包含文本的简单邮件");

// 邮件的文本内容

message.setContent("你好啊!", "text/html;charset=UTF-8");

// 返回创建好的邮件对象

return message;

}

}

<完>