使用Java应用程序发送E-mail十分简单,但是首先你应该在你的机器上安装JavaMail APIJava Activation Framework (JAF)

JavaMail API (oracle.com)

JavaBeans Activation Framework 1.1 Download (oracle.com)

本案例以QQ邮箱为例:

在QQ邮箱中我们要先登入QQ邮箱的网页,去账户那一栏中获取授权码才可以!!!

否则就会报错:

邮箱报错javax.mail.AuthenticationFailedException: 535 Login Fail. Please enter your authorization code t

javamail密码 java account email_开发语言


代码如下:

发送端、接收端的QQ邮箱需要自行给出! 

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class mail_demo_test{
    public static void main(String [] args) {

        // 收件人电子邮箱
        String to = "XXX@qq.com";

        // 发件人电子邮箱
        String from = "XXX@qq.com";

        // 指定发送邮件的主机为 smtp.qq.com
        String host = "smtp.qq.com";  //QQ 邮件服务器

        // 获取系统属性
        Properties properties = System.getProperties();

        // 设置邮件服务器
        properties.setProperty("mail.smtp.host", host);

        properties.put("mail.smtp.auth", "true");

        // 获取默认session对象
        Session session = Session.getDefaultInstance(properties,new Authenticator(){
            public PasswordAuthentication getPasswordAuthentication() {
                
                // 发件人邮件用户名、授权码
                // 我的授权码gbuoutlxeriqjeae(写你自己)
                return new PasswordAuthentication("XXX@qq.com", "gbuoutlxeriqjeae"); 
            }
        });

        try{
            // 创建默认的 MimeMessage 对象
            MimeMessage message = new MimeMessage(session);

            // Set From: 头部头字段
            message.setFrom(new InternetAddress(from));

            // Set To: 头部头字段
            message.addRecipient(Message.RecipientType.TO,
                    new InternetAddress(to));

            // Set Subject: 头部头字段
            message.setSubject("2022-5-11");

            // 设置消息体
            message.setText("This is actual message");

            // 发送消息
            Transport.send(message);
            System.out.println("Sent message successfully....Harmony");
        }catch (MessagingException mex) {
            mex.printStackTrace();
        }
    }
}

javamail密码 java account email_开发语言_02

对方查看如下: 

javamail密码 java account email_javamail密码_03