论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
java 发送邮件 css-style 样式丢失错乱题目,有解决方案 ...
java 发送邮件 css-style 样式丢失错乱题目,有解决方案
诗林
金牌会员
|
2024-12-7 23:07:11
|
显示全部楼层
|
阅读模式
楼主
主题
719
|
帖子
719
|
积分
2157
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
邮件系列
java 如何实现发送邮件 email?
java 搭建属于自己的邮件服务器
java 发送邮件 css-style 样式丢失错乱题目,有解决方案
java 发送邮件-04-java 邮件发送 http 接口如何界说?
开源项目
email: 一行代码实现邮件发送
前言
大家好,我是老马。
大家一样平常开发,对于邮件发送应该能不陌生。本系列就让我们一起学习一下邮件相干的内容。
题目形貌
使用 email 发送邮件时,发现所有的 css 样式丢失。
感觉有些奇怪,看了下邮件设置也是 html 格式。
厥后一想就知道原因了,其实邮箱也是基于 css 体现的,假如邮件内容有全局格式,肯定会导致体现,乃至安全题目。
所以去查了下相干原因,并且记录下自己的解决方案。
题目原因
使用java发送html到qq邮箱后,发现采用“外部样式表”的css都没有
外部样式表:
[/code]推测邮箱是从出于安全策略(推测是防止CSRF跨站哀求伪造)才会过滤掉外部引用的,为了绕过这个拦截,改为使用“内部样式表”写法
[code]<head>
</head>
复制代码
发送后qq邮箱可以了,但是126邮箱不可,126邮箱比qq邮箱更严格,居然把style标签里的内容全部过滤掉了,这阐明不同的邮箱过滤策略不一样。
那大企业发的邮件,为啥样式都体现正常?
为了一探毕竟就找了领英的邮件看了看,发现它将样式都写在标签了,也就是“内联式”写法。
发送邮件的邮件内容,可以去掉head、body,只留需要的部门,因为,邮箱会过滤head、body,并将这个两个标签的样式全部过滤掉,所以发送html邮件时,直接上内容就好,比如
<h1 >邮件标题</h1>
<p>邮件内容</p>
复制代码
内嵌式格式解决方案
这种我们当然不可能一个个手动去改,如许就太笨了。
类似的框架网上比较多,
CssToInlineStyles-PHP
和
juice-JS
。
假如你有需求,可以考虑使用符合自己语言的,比如 java。
此处我只是简单使用下,所以采用了网页版本
网页版-juice
。
发送转换后的 html,发现体现正常。
开源框架
email 发送
email-java 发送工具
css
CssToInlineStyles
Juice inlines CSS stylesheets into your HTML source.
网页版-juice
参考资料
HTML 邮件兼容题目
在发送邮件HTML中,CSS等题目
发送邮件到qq邮箱、126邮箱后丢失样式
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
诗林
金牌会员
这个人很懒什么都没写!
楼主热帖
Windows安装mamba全流程(全网最稳定最 ...
【Linux】Ubuntu20.04解决网卡、显卡驱 ...
Adobe2024全家桶win及Mac系统安装包下 ...
Java软件架构师-25个关注点
24年首批!上海通管通报违规app涉及欧莱 ...
【Linux】网络设置(静态/动态/手动/nm ...
服务网格主动故障检测及流量切换方案 ...
【职场大揭秘】公司可以看到员工电脑在 ...
小步伐中Java背景调用getAccessToken接 ...
检测文本是否由AI生成,GPT、文心一言 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
.Net
分布式数据库
信创/国产替代
超融合
人工智能
Mysql
程序人生
物联网
IOS
快速回复
返回顶部
返回列表