admin管理员组

文章数量:1559391

Java实现QQ邮箱发送邮件的功能

1.登录QQ邮箱


2.打开账号与安全


3.生成授权码

4.得到授权码

5.maven配置

如果你使用Maven,可以在pom.xml中添加依赖。

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

6.java代码实现

代码示例:

package com.kelai.mail;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class SendEmail {
    public static void main(String[] args) {
        // 发件人邮箱和授权码
        final String username = "1234@qq";
        final String password = "authorization_code";

        // 收件人邮箱
        String to = "5678@qq";

        // 设置邮件服务器的属性
        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.qq"); // 指定SMTP服务器
        props.put("mail.smtp.port", "465"); // QQ邮箱的SMTP端口
        props.put("mail.smtp.auth", "true"); // 启用认证
        props.put("mail.smtp.ssl.enable", "true"); // 使用SSL加密连接
        props.put("mail.smtp.socketFactory.class", "javax.ssl.SSLSocketFactory");
        props.put("mail.smtp.socketFactory.fallback", "false");
        props.put("mail.smtp.socketFactory.port", "465");

        // 创建会话对象
        Session session = Session.getInstance(props, new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        });

        try {
            // 创建邮件消息
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(username)); // 设置发件人
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // 设置收件人
            message.setSubject("23点52分通知邮件"); // 设置邮件主题
            message.setText("这是一份来自Java程序的通知邮件。"); // 设置邮件正文

            // 发送邮件
            Transport.send(message);
            System.out.println("邮件已成功发送!");
        } catch (MessagingException mex) {
            mex.printStackTrace();
        }
    }
}

请注意,你需要将1234@qq替换为你的QQ邮箱地址,authorization_code替换为开启SMTP服务时获得的授权码。根据实际需求,你可以修改邮件的主题和正文内容。

7.执行代码


查看邮箱收件箱

注意事项

  • 可能会报错javax.mail.AuthenticationFailedException: 535 Login Fail. Please enter your authorization code to login.
  • password一定不能是QQ邮箱的密码,是授权码!!!

以上内容中的SMTP服务器地址、端口号等配置针对的是QQ邮箱,不同邮箱服务商可能会有所不同,请根据实际情况调整。

本文标签: 邮箱腾讯发送邮件协议功能