使用Java发送QQ邮件

这篇博客详细介绍了如何使用JavaMail API发送邮件,包括配置SMTP服务器、设置SSL加密、实现认证以及发送邮件的五个步骤。示例代码中展示了通过QQ邮箱发送带有HTML内容的邮件过程。

1.导入依赖

        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
            <version>1.4.4</version>
        </dependency>

        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>

2.发送邮件详细代码

Properties properties = new Properties();
properties.setProperty("mail.host","smtp.qq.com");//设置qq邮箱服务器
properties.setProperty("mail.transport.protocol","smtp");//设置发送邮件的协议
properties.setProperty("mail.smtp.auth","true");//设置需要验证

//对于QQ邮箱还需要设置SSL加密
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
properties.put("mail.smtp.ssl.enable","true");
properties.put("mail.smtp.ssl.socketFactory",sf);

//使用javamail发送邮件的5个步骤
//1.创建整个应用程序所需的环境信息的Session对象
Session session = Session.getDefaultInstance(properties, new Authenticator() {
     @Override
     protected PasswordAuthentication getPasswordAuthentication() {
          return new PasswordAuthentication("1422554131@qq.com", "jcaidjrkjdoufjjb");
         }
     });
session.setDebug(true);
//2.通过session得到transport对象
Transport ts = session.getTransport();
//3.使用邮箱的用户名和授权码连上邮件服务器
ts.connect("smtp.qq.com","1422554131@qq.com","jcaidjrkjdoufjjb");
//4.创建邮件
//创建邮件对象
MimeMessage message = new MimeMessage(session);
//指明邮件的发件人
message.setFrom(new InternetAddress("1422554131@qq.com"));
//指明邮件的接收人
message.setRecipient(Message.RecipientType.TO,new InternetAddress("1121369723@qq.com"));
//邮件的标题
message.setSubject("hello");
//邮件的文本内容
message.setContent("<h1 style ='color:red'>I love you!</h1>", "text/html;charset=UTF-8");

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

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值