通过html邮件提交数据
来源:互联网 发布:淘宝酒仙网有假酒吗 编辑:程序博客网 时间:2024/05/23 18:32
转载请注明出处:http://blog.csdn.net/soartju
作者:高飞
总算把通过html邮件提交数据的问题搞定了。 做这个功能遇到的问题很多,记录如下
1、不同的邮件客户端过滤的条件不一样,基本上会过滤掉有用的自定义标签。本来打算用自定义标签<property id="name" value="gaofei">记录信息,当用户回复的时候再解析出来的。结果,在很多邮件客户端,不是将这个标签直接过滤了就是使的标签不完整。 解决办法:使用html的标准标签,如td等。td还是非常好用的,基本上是不会被过滤的。同时,做好用<td id="name:gaofei;xx...">的形式封装自己的数据,因为有的客户端(如outlook)回复邮件后,自定义的标签属性也会被过滤掉。如果使用id属性,基本是没有问题的。
2、outlook回复邮件的问题outlook回复邮件时,会使用word编辑器对回复的html邮件重新编码,导致会添加很多没有的标签,同时又会删除很多我们需要的标签。如果不是用<td id="xxx">方式,当用户在回复区域填写数据时,用户填写的数据也不会在我们自定义的标签内,导致后来解析时,用户输入的数据就找不到了。 解决办法:用<td id=“xx”>方式,用户输入的数据一定是在td标签下,就算是outlook也无所谓,便于我们后来的数据处理。
3、html邮件style更改的问题通过对多个邮件客户端的测试,包括foxmail,outlook2007,yahoo浏览器客户端等,发现在自定义的html邮件中,如果自定义<style>....<style>,然后在个标签中引用class,在有的客户端可能会出现问题,不能正确显示页面。 解决办法:直接把style写到各个标签中,如<td style="font-size=12px;...">虽然代码冗余,但这能很好的适应不同的邮件客户端,基本上不会出现显示问题。
4、用户回复邮件后,仍然是一个html,这次采用了开源的nekohtml对这个html进行的解析,nekohtml解析后会返回一个DOM,但用这个dom取节点数据时,很可能出现乱码, 解决办法如下,加一个编码的设置就好了。
DOMParser parser = new DOMParser();
try{
InputStream is = new ByteArrayInputStream(content.getBytes());
parser.setProperty("http://cyberneko.org/html/properties/default-encoding", "GB2312"); parser.parse(new InputSource(is));
is.close();
}
- 通过html邮件提交数据
- Html使用提交按钮,提交数据
- 怎样通过ajax提交数据
- html表单提交数据验证
- 通过JavaMail在Html内发送邮件
- Redmine通过邮件提交问题(issue)的配置
- 通过html解析网页数据
- Android 通过Post方式提交数据
- iOS通过ASIHTTPRequest提交JSON数据
- iOS通过ASIHTTPRequest提交JSON数据
- iOS通过ASIHTTPRequest提交JSON数据
- Android通过Post与Get提交数据
- iOS通过ASIHTTPRequest提交JSON数据
- iOS通过ASIHTTPRequest提交JSON数据
- Android通过Post与Get提交数据
- iOS通过ASIHTTPRequest提交JSON数据
- 如何通过Retrofit提交Json格式数据
- 使用Retrofit通过post提交Json数据
- C#事件(event)解析 -- 新手必看
- 学科英文翻译
- 爱从来都不需要理由
- 怎样对SQL Server 2005加密的存储过程进行解密
- 由qterm0.5.1学一种软件安装方法
- 通过html邮件提交数据
- 解决使用TinyMCE时由于ThickBox造成的乱码问题
- 主引导记录工作原理(源码分析很COOL)
- 主引导记录工作原理(源码分析很COOL)
- 主引导记录工作原理(源码分析很COOL)
- C/C++中取地址符&的语义
- 两天《流程管理》培训分享之一:TODO List
- Java应用程序转化成exe文件的N种方法
- Eclipse快捷键大全