java发送邮件(qq邮箱)

2025-06-17 11:08:21

1、本示例是以qq邮箱来演示说明。通过程序客户端发送邮件,需要开启IMAP/SMTP服务,登录qq邮箱web页面,设置里面进行开启设置。

java发送邮件(qq邮箱)

2、开启时需要手机验证,验证完成之后,会显示授权码,这个授权码需要记录下来,后面程序里需要这个授权码作为密码来使用

java发送邮件(qq邮箱)

3、查看qq邮箱的发送邮件服务器,点击(什么是 IMAP,它又是如何设置?)可以查看

java发送邮件(qq邮箱)

4、现在开始写代码,创建一封简单邮件对象,Message,设置发件人,收件人,主题,正文,时间

java发送邮件(qq邮箱)

5、创建参数配置,设置发送协议、发送邮件服务器、ssl端口服务。然后获取传输对象Transport,进行连接和发送邮件,发送完成之后关闭连接

java发送邮件(qq邮箱)

6、完整的示例代码:package cn.sw.study.common.test;import javax.mai造婷用痃l.Message;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.util.Date;import java.util.Properties;/*** java发送邮件测试*/public class TestMail { // 发件人的邮箱地址和密码 public static String sendEmailAccount = "xxx"; //如果有授权码,此处填写授权码 public static String sendEmailPassword = "xxx"; // 发件人邮箱的 SMTP 服务器地址, 可以登录web邮箱查询 public static String sendEmailSMTPHost = "smtp.qq.com"; // 收件人邮箱地址 public static String receiveMailAccount = "xxx"; public static void main(String[] args) throws Exception { // 参数配置 Properties props = new Properties(); props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.smtp.host", sendEmailSMTPHost); props.setProperty("mail.smtp.auth", "true"); props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.setProperty("mail.smtp.port", "465"); props.setProperty("mail.smtp.socketFactory.port", "465"); // 根据配置创建会话对象, 用于和邮件服务器交互 Session session = Session.getDefaultInstance(props); session.setDebug(true); // 设置为debug模式, 可以查看详细的发送 log // 创建一封邮件 Message message = createMimeMessage(session, sendEmailAccount, receiveMailAccount); // 根据 Session 获取邮件传输对象 Transport transport = session.getTransport(); // 使用 邮箱账号 和 密码 连接邮件服务器, 这里认证的邮箱必须与 message 中的发件人邮箱一致, 否则会报错 transport.connect(sendEmailAccount, sendEmailPassword); // 发送邮件 transport.sendMessage(message, message.getAllRecipients()); // 关闭连接 transport.close(); } /** * 创建一封简单邮件 */ private static Message createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception { Message message = new MimeMessage(session); message.setFrom(new InternetAddress(sendMail)); message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail)); // 设置邮件标题 message.setSubject("发送邮件测试"); // 设置邮件正文 message.setText("这是测试内容,请忽略此内容详情"); message.setSentDate(new Date()); //保存设置 message.saveChanges(); return message; }}右击运行此测试程序,控制台打印出"message successfully delivered to mail server"表示发送成功

java发送邮件(qq邮箱)

7、此时,如果你的接受邮箱的qq是登录状态,会收到邮件的提醒,进入邮箱,查看刚刚收到的邮件

java发送邮件(qq邮箱)
java发送邮件(qq邮箱)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢