记一个发HTML格式邮件的问题
很早做了一个自动发邮件的程序,前一向发现Notes升级后反而CSS样式都没有了。
起初不以为意,反正格式数据在,客户也没说啥,后来觉得这样的态度要不得,小洞不补,大洞吃苦。
于是查查资料,发现浏览器里显示正常的CSS在邮件客户端里未必正常显示,看来我中招了。
发邮件的程序大概有七个,只有一个CSS样式正常,于是就拿它和其它六个对比。再结合网上资料,发现是以下原因导致的:
1.邮件里的HTML代码不支持CSS短格式,需要一行行单写。
2.邮件里HTML代码不支持TR样式,如果需要间隔色,着重色需要设置到TD上。
修改完后,新的样式诞生了:
sb.append("<style type=\"text/css\">");
sb.append(" body {");
sb.append(" margin: 5px auto;");
sb.append(" font-family: Arial;");
sb.append(" font-size: 14px;");
sb.append(" color: #444;");
sb.append("}");
sb.append("table{");
sb.append(" margin:0px;");
sb.append(" text-align: left;");
sb.append("} ");
sb.append("table caption{ ");
sb.append(" text-align:center;");
sb.append("} ");
sb.append("table th{ ");
sb.append(" background-color:#989898; ");
sb.append(" color:#ffffff; ");
sb.append(" text-align: center; ");
sb.append(" padding:7px 10px; ");
sb.append(" border-bottom:solid 1px #d2d1cb;");
sb.append("}");
sb.append("table tr td{ ");
sb.append(" background:#fbfcfc; ");
sb.append(" border-bottom:solid 1px #e0e0e0; ");
sb.append(" padding:8px 10px; ");
sb.append("}");
sb.append("table tr td.odd{ ");
sb.append(" background:#f8f8f8; ");
sb.append("}");
sb.append("table tr td.aqua{ ");
sb.append(" background:#ccffcc; ");
sb.append("}");
sb.append("table tr td.error{ ");
sb.append(" background:#fdbf9a; ");
sb.append("}");
sb.append(" </style>");
显示效果比预订的在网页里调试的版本差不少,但那个在Notes里只有格式没样式像纯文本的效果,这个好歹在Notes里和网页里表现一致。
记一个发HTML格式邮件的问题的更多相关文章
- 一个发邮件的demo 用golang
一个比较成熟的第三方包用来发邮件,可以带图片 和附件,项目地址 : github.com/go-gomail/gomail 一个发邮件的demo 用golang 文件目录树: -d:\test\goe ...
- 利用springframework+javax.mail发邮件(普通邮件、带附件邮件、HTML格式邮件)
Spring提供了发送电子邮件的支持,可以发送普通邮件.带附件邮件.HTML格式邮件,甚至还可以使用Velocity模板定制化邮件内容. 一.引入相关的库 1 2 3 4 5 6 7 8 9 10 1 ...
- python测试开发django-29.发送html格式邮件
前言 上一篇已经通过send_mail()函数发送纯文本的邮件,发送成功了,如果我们想发送一个html格式的邮件,如何实现呢? 发送html格式的邮件实际上还是调用send_mail()函数 ,只需多 ...
- 记一个社交APP的开发过程——基础架构选型(转自一位大哥)
记一个社交APP的开发过程——基础架构选型 目录[-] 基本产品形态 技术选型 最近两周在忙于开发一个社交App,因为之前做过一点儿社交方面的东西,就被拉去做API后端了,一个人头一次完整的去搭这么一 ...
- linux邮件客户端mutt日志文件,发不出邮件
linux上面使用很方便的收发邮件客户端(即MUA),还有一个是mail,大家也可以试试. 在网上找了很多,都说需要msmtp配合使用,其实mutt里面也内建了smtp支持的. mutt and SM ...
- python接口自动化(四十一)- 发xml格式参数的post请求(超详解)
简介 最近在工作中,遇到一种奇葩的接口,它的参数数据是通过xml,进行传递的,不要大惊小怪的,林子大了什么鸟都有,每个人的思路想法不一样,开发的接口也是各式各样的,如果想要统一的话,必须是提前团队已经 ...
- Django-choices字段值对应关系(性别)-MTV与MVC科普-Ajax发json格式与文件格式数据-contentType格式-Ajax搭配sweetalert实现删除确认弹窗-自定义分页器-批量插入-07
目录 models 字段补充 choices 参数/字段(用的很多) MTV与MVC模型 科普 Ajax 发送 GET.POST 请求的几种常见方式 用 Ajax 做一个小案例 准备工作 动手用 Aj ...
- EBS中使用JAVA方式发送HTML格式邮件
转自huan.gu专栏:http://blog.csdn.net/gh320/article/details/17174769 EBS中使用JAVA方式发送HTML格式邮件 一.开发工具:JDevel ...
- C#发送内置图片的html格式邮件的代码
将写内容过程经常用的内容段备份一次,下面的内容是关于C#发送内置图片的html格式邮件的内容,应该对码农们也有用处.MailMessage m = new MailMessage();m.Subjec ...
随机推荐
- 1020 PAT
在编译器上运行没问题,提交显示编译错误 # include<stdio.h> # include<stdlib.h> struct YB { int a,b; double c ...
- Linux中Source的用法
source命令:source命令的功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.用法 ...
- 【bzoj3834】[Poi2014]Solar Panels 数论
题目描述 Having decided to invest in renewable energy, Byteasar started a solar panels factory. It appea ...
- inner join和left join 、right join 的区别?
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...
- svg图片做图标字体
https://icomoon.io 这个网站,把svg变图标
- Jerasure 1.2A 中的 C 函数 tips
C stat函数的用法举例 C语言 fread()与fwrite()函数说明与示例 / C 库函数 - fwrite() C 库函数 - sprintf()
- white-space使用注意事项
今天写移动端的时候有个地方需要横向滚动的功能,自然而然需要用到white-space这个属性了,但是试了一下发现没有效果,反复查找原因后,发现white-space是对inline-block起作用的 ...
- RazorExtensions Templated Razor Delegates
原文发布时间为:2011-04-27 -- 来源于本人的百度文章 [由搬家工具导入] Templated Razor Delegates David Fowler turned me on to a ...
- 用Python和Pygame写游戏-从入门到精通(py2exe篇)
这次不是直接讲解下去,而是谈一下如何把我们写的游戏做成一个exe文件,这样一来,用户不需要安装python就可以玩了.扫清了游戏发布一大障碍啊! perl,python,java等编程语言,非常好用, ...
- LeetCode OJ-- Count and Say
https://oj.leetcode.com/problems/count-and-say/ 求经过n次变换后,变成了什么. 1 11 21 1211 111221 ps. 3 变成 ‘3 ...