很早做了一个自动发邮件的程序,前一向发现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格式邮件的问题的更多相关文章

  1. 一个发邮件的demo 用golang

    一个比较成熟的第三方包用来发邮件,可以带图片 和附件,项目地址 : github.com/go-gomail/gomail 一个发邮件的demo 用golang 文件目录树: -d:\test\goe ...

  2. 利用springframework+javax.mail发邮件(普通邮件、带附件邮件、HTML格式邮件)

    Spring提供了发送电子邮件的支持,可以发送普通邮件.带附件邮件.HTML格式邮件,甚至还可以使用Velocity模板定制化邮件内容. 一.引入相关的库 1 2 3 4 5 6 7 8 9 10 1 ...

  3. python测试开发django-29.发送html格式邮件

    前言 上一篇已经通过send_mail()函数发送纯文本的邮件,发送成功了,如果我们想发送一个html格式的邮件,如何实现呢? 发送html格式的邮件实际上还是调用send_mail()函数 ,只需多 ...

  4. 记一个社交APP的开发过程——基础架构选型(转自一位大哥)

    记一个社交APP的开发过程——基础架构选型 目录[-] 基本产品形态 技术选型 最近两周在忙于开发一个社交App,因为之前做过一点儿社交方面的东西,就被拉去做API后端了,一个人头一次完整的去搭这么一 ...

  5. linux邮件客户端mutt日志文件,发不出邮件

    linux上面使用很方便的收发邮件客户端(即MUA),还有一个是mail,大家也可以试试. 在网上找了很多,都说需要msmtp配合使用,其实mutt里面也内建了smtp支持的. mutt and SM ...

  6. python接口自动化(四十一)- 发xml格式参数的post请求(超详解)

    简介 最近在工作中,遇到一种奇葩的接口,它的参数数据是通过xml,进行传递的,不要大惊小怪的,林子大了什么鸟都有,每个人的思路想法不一样,开发的接口也是各式各样的,如果想要统一的话,必须是提前团队已经 ...

  7. Django-choices字段值对应关系(性别)-MTV与MVC科普-Ajax发json格式与文件格式数据-contentType格式-Ajax搭配sweetalert实现删除确认弹窗-自定义分页器-批量插入-07

    目录 models 字段补充 choices 参数/字段(用的很多) MTV与MVC模型 科普 Ajax 发送 GET.POST 请求的几种常见方式 用 Ajax 做一个小案例 准备工作 动手用 Aj ...

  8. EBS中使用JAVA方式发送HTML格式邮件

    转自huan.gu专栏:http://blog.csdn.net/gh320/article/details/17174769 EBS中使用JAVA方式发送HTML格式邮件 一.开发工具:JDevel ...

  9. C#发送内置图片的html格式邮件的代码

    将写内容过程经常用的内容段备份一次,下面的内容是关于C#发送内置图片的html格式邮件的内容,应该对码农们也有用处.MailMessage m = new MailMessage();m.Subjec ...

随机推荐

  1. HDU3232 Crossing Rivers 数学期望问题

    Crossing Rivers                                                                                     ...

  2. 【转】BehaviorDesigner学习

    BehaviorDesigner学习   行为树: 行为树设计师插件是一个专门为unity设计的AI插件. 通过继承Behavior中的Task下的四个节点,可以创建自己的行为树节点. 行为树中的自定 ...

  3. windows通过NSF挂载centos目录

    windows通过NSF挂载centos目录 来源: http://blog.csdn.net/u012955038/article/details/77151346 CentOS 配置 1.安装NF ...

  4. ajax跨域两个方法

    1在后端转换,调用API. ajax瀑布流: <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...

  5. mongodb学习(2)--- nodeJS与MongoDB的交互(使用mongodb/node-mongodb-native)

    转载:http://www.cnblogs.com/zhongweiv/p/node_mongodb.html 目录 简介 MongoDB安装(windows) MongoDB基本语法和操作入门(mo ...

  6. vue项目中使用vue-awesome

    公司在项目重构时,遇到图标问题,然后把vue-awesome.iconfont.iconMoon都试了一遍,虽然最终使用了iconMoon但是也要把这两个过程记录一下. github地址 1.首先安装 ...

  7. 适配IPhone X的技巧

    #define TabbarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49) // ...

  8. duilib入门简明教程 -- 界面设计器 DuiDesigner (10) (转)

    原文转自:http://www.cnblogs.com/Alberl/p/3343838.html     上一个教程讲解了怎么布局最大化.最小化.关闭按钮,但是如果手动去计算这三个按钮的位置和大小的 ...

  9. Method, apparatus, and system for speculative abort control mechanisms

    An apparatus and method is described herein for providing robust speculative code section abort cont ...

  10. LVS高可用集群的配置

    网络结构: LVS DR工作原理 LVS集群从客户端上看可以将整个集群看成单个服务器对外提供服务,其IP是集群内部的VIP(虚拟IP).从内部看,转发服务器(DS)其实并没有启动应用层的服务对接口进行 ...