java实现简单的QQ邮件发送

要在网络上文现邮件功能。必须要有专门的邮件服务器

SMTP服务器地址:我们这里用的QQ的邮件是smtp.qq.com

 

使用Java发送E-mail十分简单,首先你应该准备JavaMail API和Java Activation Framework。

得到两个jar包:

mail.jar

activation.jar

 

然后去qq邮箱开启发送邮件POP3/SMTP服务

 

开启之后会生成一个授权码,这个记得保存下来

然后就是建一个测试类

import com.sun.mail.util.MailSSLSocketFactory;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import java.security.GeneralSecurityException;
import java.util.Properties;

//发送一封简单的邮件
public class MailDemo01 {
public static void main(String[] args) throws Exception {

//创建一封邮件
Properties prop = new Properties();
prop.setProperty( "mail.host", "smtp.qq.com");//设置QQ邮件服务器
prop.setProperty("mail.transport.protocol", "smtp");// 邮件发送协议
prop.setProperty( "mail.smtp.auth", "true");//需要验证用户名密码

//关于QQ邮箱,还要设置SSL加密,加上以下代码即可
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
prop.put("mail.smtp.ssl.enable","true");
prop.put( "mail.smtp.ssl.socketFactory", sf);


//使用JavaMail发送邮件的5个步骤
//1、创建定义整个应用程序所需的环境信息的Session对象
//QQ独有的
Session session = Session.getDefaultInstance(prop,new Authenticator() {
public PasswordAuthentication getPasswordAuthentication( ) {
//发件人邮件用户名、授权码
return new PasswordAuthentication( "自己的qq邮箱xx@qq.com","授权码");//授权码在刚开启的时候生成,也可以后续生成

        }
        });

//开启Session的debug模式,这样可以查看程序发送Email的运行状态
session.setDebug(true);
//2、通过session得到transport对象
Transport ts = session.getTransport();

//3、使用邮箱的用户名和授权码连上邮件服务器
ts.connect("smtp.qq.com","自己的qq邮箱xx@qq.com","blxhyxjzteywcagf");
//4、创建邮件
//注意需要传递session
MimeMessage message = new MimeMessage( session);

//指明邮件的发件人
message.setFrom(new InternetAddress("自己的qq邮箱xx@qq.com"));

//指明邮件的收件人,也可以发给自己
message.setRecipient(Message.RecipientType.TO,new InternetAddress("别人的qq邮箱xx@qq.com"));

//邮件的标题
message.setSubject("这是一个测试邮件");//

//邮件内容
message.setContent("<h1>你好呀!</h1>","text/html;charset=UTF-8");

//5、发送邮件
ts.sendMessage(message,message.getAllRecipients());

//关闭连接
ts.close();
}
}

//运行以上代码就可以实现简单的邮件发送了
posted @ 2020-12-22 14:52  心怀暖阳  阅读(151)  评论(0)    收藏  举报