使用Java代码发送QQ、网易电子邮件

张开发
2026/4/8 8:09:58 15 分钟阅读

分享文章

使用Java代码发送QQ、网易电子邮件
说明本文介绍如何使用Java代码发送邮件实现Step1引入依赖创建一个Maven项目引入下面两个依赖dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.27/version/dependencydependencygroupIdcom.sun.mail/groupIdartifactIdjavax.mail/artifactIdversion1.6.2/version/dependencyStep2编码首先写一个工具类该工具类有两个方法一个用来获取邮件对象一个用来发送邮件importcn.hutool.core.util.StrUtil;importcn.hutool.extra.mail.MailAccount;importcn.hutool.extra.mail.MailUtil;/** * 邮件发送工具类 */publicfinalclassEmailSenderUtil{privateEmailSenderUtil(){}/** * 获取邮箱客户端 * * param smtpHost smtp服务器地址 * param smtpPort smtp服务器端口 * param emailUsername 邮箱用户名 * param emailPassword 邮箱授权码 * return */publicstaticMailAccountgetMailClient(StringsmtpHost,intsmtpPort,StringemailUsername,StringemailPassword){MailAccountaccountnewMailAccount();account.setHost(smtpHost);account.setPort(smtpPort);account.setAuth(true);account.setFrom(emailUsername);account.setUser(emailUsername);account.setPass(emailPassword);returnaccount;}/** * 发送邮件 * * param account 邮箱客户端 * param to 接收人邮箱地址 * param subject 邮件主题 * param content 邮件内容 * param isHtml 是否是html格式 */publicstaticvoidsendEmail(MailAccountaccount,Stringto,Stringsubject,Stringcontent,booleanisHtml){if(StrUtil.isBlank(to)){thrownewIllegalArgumentException(收件人邮箱地址不能为空);}if(StrUtil.isBlank(subject)){thrownewIllegalArgumentException(邮件主题不能为空);}if(StrUtil.isBlank(content)){thrownewIllegalArgumentException(邮件内容不能为空);}try{MailUtil.send(account,to,subject,content,isHtml);System.out.println(邮件发送成功);}catch(Exceptione){e.printStackTrace();System.out.println(邮件发送失败);}}}Step3获取授权码发送人的邮箱账户需要开通SMTP服务允许通过客户端发送邮件这里介绍QQ邮箱、网易邮箱开通SMTP服务和获取授权码的步骤。QQ邮箱SMTP_HOST是smtp.qq.comPORT用465或587文档参考https://wx.mail.qq.com/list/readtemplate?nameapp_intro.html#/agreement/authorizationCode网易邮箱SMTP_HOST是smtp.163.comPORT用25获取授权码的方式都差不多用绑定的手机给邮件官方发短信然后获取授权码Step4测试写一个main方法测试发送邮件importcn.hutool.extra.mail.MailAccount;publicclassEmailSentTest{publicstaticvoidmain(String[]args){// 邮件接收人多个接收人使用逗号或者分号隔开Stringto;// 邮件主题Stringsubject测试邮件;// 邮件内容Stringcontent这是一封测试邮件;// 获取邮箱客户端MailAccountaccountEmailSenderUtil.getMailClient(smtp.qq.com,587,发送方qq账号,发送方授权码);// 发送邮件EmailSenderUtil.sendEmail(account,to,subject,content,false);}}发送成功总结本文介绍了如何用Hutool工具包封装的MailUtil发送邮件及QQ邮箱、网易邮箱如何开通SMTP服务和获取授权码。参考下面这篇文章java 用163邮箱发送邮件

更多文章