javaMail发送简单邮件

javaMail介绍

JavaMail 是sun公司为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如前面所讲的SMTP,POP3,IMAP,还有MIME等。我们在使用JavaMail API 编写邮件时,无须考虑邮件的底层实现细节,只要调用JavaMail 开发包中相应的API类就可以了。

 

邮件协议

1、SMTP协议——发邮件协议

全称为Simple Mail Transfer Protocol(简单邮件传输协议),他定义了邮件客户端软件与SMTP服务器之间、以及两台SMTP服务器之间的通讯规则。

端口号:25

2、POP3协议——收邮件协议

全称为Post Office Protocol(邮局协议),它定义了邮件客户端软件与POP3服务器的通讯规则。

端口号:110

 

邮件发送流程

代码实现(以qq邮箱为例)

​
​
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class TestEmail {

	public static void main(String[] args) throws Exception {
		// 服务器的设置
		Properties props = new Properties();
		props.setProperty("mail.transport.protocol", "smtp");
        props.setProperty("mail.smtp.host", "smtp.qq.com");
        props.setProperty("mail.smtp.auth", "true");
		// 账号和密码
		Authenticator authenticator = new Authenticator() {
			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				//发送人账号和密码
				return new PasswordAuthentication("XXX@qq.com", "XXX");
			}
		};

		// 1 与服务器建立连接:Session
		Session session = Session.getDefaultInstance(props, authenticator);

		// 2 编写邮件:Message
		Message message = new MimeMessage(session);
		
		// 2.1 发件人
		message.setFrom(new InternetAddress("XXX@qq.com"));
		
		// 2.2 收件人 , to:收件人 , cc :抄送,bcc:暗送(密送)
		message.setRecipient(RecipientType.TO, new InternetAddress("XXX@qq.com"));
		
		// 2.3 主题
		message.setSubject("祝贺邮件");
		
		// 2.4 内容
		message.setContent("恭喜你成功注册,成为了X宝的会员!!!。", "text/html;charset=UTF-8");

		// 3 将消息进行发送:Transport
		Transport.send(message);

	}
}

​

​

注意

1.开启SMTP和POP3服务

           

2.发送人的密码

           


jar包下载

mailapi.jar:https://mvnrepository.com/artifact/com.sun.mail/mailapi

smtp.jar:https://mvnrepository.com/artifact/com.sun.mail/smtp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值