用JAVA发送含有附件的邮件
1、用JAVA发送含有附件的邮件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | public void sendKREmailAndFile(String[] toEmail, String mailSubject, String mailContent,List<File> fileList) throws MessagingException { Properties prop = new Properties(); prop.put( "mail.smtp.auth" , "true" ); prop.put( "mail.smtp.host" , host); prop.put( "mail.smtp.port" , port); prop.put( "mail.debug" , "true" ); prop.put( "mail.smtp.starttls.enable" , "true" ); Session session = Session.getInstance(prop, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(userName, password); } }); MimeMessage message = new MimeMessage(session); message.setSubject(mailSubject); message.setFrom( new InternetAddress(senderEmail)); InternetAddress[] toAddress = new InternetAddress[toEmail.length]; // 设置收件人的邮箱 for ( int i = 0 ; i < toAddress.length; i++) { toAddress[i] = new InternetAddress(toEmail[i]); } message.setRecipients(Message.RecipientType.TO, toAddress); message.setSubject(mailSubject, Charsets.UTF_8.name()); String msg = mailContent; MimeBodyPart mimeBodyPart = new MimeBodyPart(); mimeBodyPart.setContent(msg, messageType); Multipart multipart = new MimeMultipart(); multipart.addBodyPart(mimeBodyPart); //关键代码:发送附件 if (fileList != null ){ for (File file : fileList){ MimeBodyPart appendix = new MimeBodyPart(); appendix.setDataHandler( new DataHandler( new FileDataSource(file.getAbsolutePath()))); appendix.setFileName(file.getName()); multipart.addBodyPart(appendix); } } message.setContent(multipart); Transport.send(message); } |
2、其实和发送普通邮件的基本差不多。只是加了下面的代码,所以发送不带附件和带附件的邮件,都可以用这个方法
1 2 3 4 5 6 7 8 9 | //关键代码:发送附件 if (fileList != null ){ for (File file : fileList){ MimeBodyPart appendix = new MimeBodyPart(); appendix.setDataHandler( new DataHandler( new FileDataSource(file.getAbsolutePath()))); appendix.setFileName(file.getName()); multipart.addBodyPart(appendix); } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言
2021-12-22 使用jacob时总是报错“com.jacob.com.ComFailException: Can't get object clsid from progid?该怎么解决
2021-12-22 java 将word转为PDF (100%与word软件转换一样)
2021-12-22 通过jacob实现文字转语音(附jacob-1.18-x64.dll下载地址)