发布时间:2026/7/18 10:33:36
java给钉钉邮箱发送邮件 1.开通POP和IMAP2.关闭【三方客户端登录安全管理】或者使用这里生成的密码3.引入pomdependencygroupIdjavax.mail/groupIdartifactIdmail/artifactIdversion1.4.7/version/dependency4.逻辑Stringhostsmtp.qiye.aliyun.com;Stringport465;Stringusernamexxxxxxdingtalk.com;// 钉钉发送者邮箱Stringpasswordxxxxxx;// 发送者邮箱账号StringtoEmailxxxxxdingtalk.com;// 钉钉接收者邮箱Stringsubject邮件标题try{PropertiespropsnewProperties();props.setProperty(mail.smtp.host,host);props.setProperty(mail.smtp.port,port);props.setProperty(mail.smtp.socketFactory.class,javax.net.ssl.SSLSocketFactory);props.setProperty(mail.smtp.socketFactory.fallback,false);// 启用调试//props.setProperty(mail.debug, true);props.setProperty(mail.smtp.socketFactory.port,port);props.setProperty(mail.smtp.auth,true);// 建立邮件会话SessionsessionSession.getDefaultInstance(props,newAuthenticator(){OverrideprotectedPasswordAuthenticationgetPasswordAuthentication(){returnnewPasswordAuthentication(username,password);}});// 建立邮件对象MimeMessagemessagenewMimeMessage(session);message.setFrom(newInternetAddress(username));message.setRecipients(Message.RecipientType.TO,toEmail);message.setSubject(subject);MimeMultipartmultipartnewMimeMultipart();BodyPartcontentPartnewMimeBodyPart();// 邮件正文contentPart.setContent(content,text/html;charsetutf-8);multipart.addBodyPart(contentPart);// 附件MimeBodyPartattachmentBodyPartnewMimeBodyPart();// 读取本地文件如果是前端传过来的MultipartFile文件需要将MultipartFile转为file再通过下面的方式// File file MultipartFileToFile(multipartFile);// DataSource source new FileDataSource(file);// attachmentBodyPart.setDataHandler(new DataHandler(source));DataHandlerdataHandlernewDataHandler(newFileDataSource(E:\\soft\\test.doc);attachmentBodyPart.setDataHandler(dataHandler);attachmentBodyPart.setFileName(test.doc);multipart.addBodyPart(attachmentBodyPart);// 设置邮件整体内容message.setContent(multipart);Transport.send(message);}catch(Exceptione){e.printStackTrace();}5.直接添加前端传过来的MultipartFile.....MimeMultipartmultipartnewMimeMultipart();BodyPartcontentPartnewMimeBodyPart();// 邮件正文contentPart.setContent(content,text/html;charsetutf-8);multipart.addBodyPart(contentPart);// 附件--这里改下MimeBodyPartattachmentBodyPartnewMimeBodyPart();FilefileMultipartFileToFile(multipartFile);DataSourcesourcenewFileDataSource(file);attachmentBodyPart.setDataHandler(newDataHandler(source));attachmentBodyPart.setFileName(file.getName());multipart.addBodyPart(attachmentBodyPart);// 设置邮件整体内容message.setContent(multipart);Transport.send(message);.....6.添加多个附件MimeMultipartmultipartnewMimeMultipart();BodyPartcontentPartnewMimeBodyPart();// 邮件正文contentPart.setContent(content,text/html;charsetutf-8);multipart.addBodyPart(contentPart);// 附件--这里改下for(MultipartFilemultipartFile:files){MimeBodyPartattachmentBodyPartnewMimeBodyPart();FilefileMultipartFileToFile(multipartFile);DataSourcesourcenewFileDataSource(file);//添加附件的内容attachmentBodyPart.setDataHandler(newDataHandler(source));//添加附件的标题attachmentBodyPart.setFileName(file.getName());multipart.addBodyPart(filePart);}// 设置邮件整体内容message.setContent(multipart);Transport.send(message);7.给多个邮箱发邮件Stringtosa1dingtalk.com,a2dingtalk.com,a3dingtalk.com;String[]toListto.split(,);Address[]addressesnewAddress[toList.length];for(inti0;itoList.length;i){addresses[i]newInternetAddress(toList[i]);}message.setRecipients(Message.RecipientType.TO,addresses);

相关新闻

2026/7/18 10:28:36

st终端Nix集成指南:使用Nix Flakes轻松管理和部署

st终端Nix集成指南:使用Nix Flakes轻松管理和部署 【免费下载链接】st snazzy terminal (suckless beautiful) 项目地址: https://gitcode.com/gh_mirrors/st2/st st终端(snazzy terminal)是一款结合了suckless简洁理念与现代美观设计…

2026/7/18 11:38:42

ReconPi完全指南:如何用树莓派打造终极轻量级侦察工具

ReconPi完全指南:如何用树莓派打造终极轻量级侦察工具 【免费下载链接】ReconPi ReconPi - A lightweight recon tool that performs extensive scanning with the latest tools. 项目地址: https://gitcode.com/gh_mirrors/re/ReconPi ReconPi是一款轻量级侦…

2026/7/18 11:38:42

Electron-Nuxt测试策略:单元测试与端到端测试实现指南

Electron-Nuxt测试策略:单元测试与端到端测试实现指南 【免费下载链接】electron-nuxt ⚡ An Electron & Nuxt.js / Vue.js quick start boilerplate with vue-cli scaffolding, electron-builder, unit/e2e testing, vue-devtools 项目地址: https://gitcode…

2026/7/18 11:38:42

Next-on-Netlify终极指南:如何在Netlify上部署Next.js SSR应用

Next-on-Netlify终极指南:如何在Netlify上部署Next.js SSR应用 【免费下载链接】next-on-netlify Build and deploy Next.js applications with Server-Side Rendering on Netlify! 项目地址: https://gitcode.com/gh_mirrors/ne/next-on-netlify 想要在Netl…

2026/7/17 5:59:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/18 10:53:38

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/17 7:39:19

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/18 0:00:24

某智驾大牛创业

作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…

2026/7/17 14:59:44

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…