当前位置: 首页 > news >正文

Java 之 发送邮件中谷歌邮箱图片加载失败问题

背景

项目中用到发送邮件功能,之前测试一直没什么问题,后面客户使用总是有问题,再次测试发现只有谷歌邮箱才有这种问题,后面换了一种方法,测试ok,这里记录下。

使用html格式发送邮件

代码

html相关代码

<imgsrc="cid:emailImg"alt="Email Logo"/>

java相关代码

publicvoidsendCustomer(Stringto,Stringsubject,Stringcontent){try{// 创建message对象MimeMessagemessage=mailSender.createMimeMessage();MimeMessageHelperhelper=newMimeMessageHelper(message,true,"utf-8");// 设置邮件信息....helper.setText(content,true);StringbriEmail="email.png";StringfolderPath=System.getProperty("user.dir")+File.separator+"templates"+File.separator;StringbriEmailFile=folderPath+briEmail;try{helper.addInline("emailImg",newFileSystemResource(newFile(briEmailFile)),"image/png");}catch(Exceptione){......}// 异步执行 发送邮件mailSender.send(helper.getMimeMessage());log.info("email [ {} ] send ok",to);}catch(Exceptione){log.error("Sending email failed:"+e.getMessage());....}}

注意点

  1. 一定要在setText之后再调用addInline
  2. 使用html格式发送时,很多CSS格式可能不支持,需要具体调试。
  3. 建议使用Table标签,这样更好兼容格式设置
  4. 如果需要内含外部链接,需要三方图片服务器,比如google driver,AWS3等。
http://www.cnnetsun.cn/news/93092.html

相关文章:

  • 百度网盘解析工具:3分钟告别下载限速烦恼
  • FreeMove终极指南:Windows文件迁移的革命性解决方案
  • FeHelper全能工具箱:前端开发效率提升终极指南
  • QQ空间历史说说完整备份指南:永久珍藏你的数字记忆
  • 十大MCP Server方案,让DevOps步入智能新时代
  • VUE3:深入浅出探究pinia、provide\inject在多层组件页面是怎么使用的
  • Molecular Operating Environment (MOE) 完整安装与配置指南
  • LobeChat能否用于生成直播话术?电商主播提词器
  • 终极C++网络编程:构建高性能HTTP服务的完整指南
  • 显卡驱动终极清理指南:一键彻底解决兼容性问题
  • Zotero GPT:用AI重新定义文献管理效率
  • LobeChat与LangChain结合应用:打造复杂AI工作流
  • 突破60帧束缚:原神性能优化工具深度解析
  • 云计算作业—-V L AN实验
  • 当连锁巡检“听懂人话”:VLM技术下的智能运营新场景
  • 责任链模式(Chain of Responsibility):实现事件或请求的逐级处理与传递
  • SMUDebugTool深度探索:解锁AMD Ryzen系统的隐藏性能
  • JavaScript 中的单例模式:利用闭包、IIFE 或 ES Modules 实现线程安全的单例
  • CORS 机制中的预检请求(Preflight Request):为什么 OPTIONS 请求总是先于复杂请求发送?
  • Google Drive文件下载终极指南:简单快速解决下载难题
  • 面对一个新领域,如何快速摸清门道?试试“一键生成”研究地图
  • 终极指南:5步实现全球付费内容免费阅读
  • GBase 8s数据库SYSTIMESTAMP表达式介绍(上)
  • 从“秒级”到“毫秒级”:金仓如何让InfluxDB的“时序神话”黯然失色?
  • zotero-style插件深度解析:从零打造高效文献管理生态
  • 5倍推理加速:Axolotl缓存策略如何终结重复计算瓶颈
  • LobeChat能否部署在华为云弹性云服务器?国产化替代实践
  • LobeChat备份与恢复策略:防止重要对话丢失
  • Access Token 生命周期管理:详细设计 Token 的获取、缓存、续期和过期处理机制
  • 客户群 ID 与业务 ID 映射:设计高性能数据库表结构,实现 ChatID 与内部业务标签的快速关联