读取html页面文件解析邮箱地址

邮件客户端的html格式邮件解析规则系列教程(一) 各ISPs及邮件客户端的Html邮件解析规则系列教程(一) Outlook2007 邮件客户端的Html邮件解析规则指南 微软的新版本Outlook 07的发布由于使用了Word的Html渲染代替了以往基于IE浏览器的Html页面渲染,给邮件设计者带来了很大影响! 但Word 2007目前并不支持很多Html语言及CSS样式,也就意味着Outlook 07中邮件背景图片无法显示、不支持CSS的Float或Position属性、不支持DIV+CSS盒子模式等等。 因此,这个变化在很大程度上影响到Html邮件在Outlook 07显示,如很多在网页中显示正常的Html邮件但在邮箱中显示异常。 立即下载
本文来自:http://blog.youkuaiyun.com/javaalpha/article/details/8332587  转载是请标明,谢谢。

 

读取html页面文件解析邮箱地址

 

package com.alpha.test;import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;/**
 * 读取html页面文件解析邮箱地址
 * 
 * @author JavaAlpha 2012-12-19 13:45:11
 */
public class ReadHtmlToTxt { // 读取文件
 public static String readHtml(String path) {  StringBuffer emailCont = new StringBuffer();  File htmlFile = new File(path);
  if (htmlFile.exists() && htmlFile.isFile() && htmlFile.canRead()) {
   Reader in;
   try {
    in = new FileReader(htmlFile);
    char[] buff = new char[4096];
    int nch;
    while ((nch = in.read(buff, 0, buff.length)) != -1) {
     emailCont.append(checkEmail(new String(buff, 0, nch)));
    }
   } catch (FileNotFoundException e) {
    e.printStackTrace();
   } catch (IOException e) {
    e.printStackTrace();
   }  }  return emailCont.toString();
 } // 判断字符串里面是否包括@符号
 public static String checkEmail(String str) {  String postCont = "";
  // 判断是否回复的内容
  if (str.indexOf("@") > -1) {   postCont = str.substring(str.indexOf("@") - 10,
     str.indexOf("@") + 10);   if (postCont.indexOf(">") > -1 || postCont.indexOf("<") > -1) {
    postCont = postCont.replaceAll(">", "");
    postCont = postCont.replaceAll("<", "");
    postCont = postCont.replaceAll("/", "");
   }   if (postCont.indexOf(",") > -1 || postCont.indexOf(",") > -1
     || postCont.indexOf("。") > -1 || postCont.indexOf(";") > -1) {
    postCont = postCont.replaceAll(",", "");
    postCont = postCont.replaceAll(",", "");
    postCont = postCont.replaceAll("。", "");
   }   postCont = postCont.substring(0, postCont.indexOf(".com") + 4);   System.out.println(postCont);
  }  return postCont;
 }
 
 //过滤汉字
 public static boolean checkChinese(String str) {
  
  String regEx = "[\\u4e00-\\u9fa5]";
  Pattern p = Pattern.compile(regEx);
  Matcher m = p.matcher(str);
  if (m != null && m.find()){
   return true;//是汉字
  }
  return false;
 } // 将整理是邮箱地址写入文件
 public static void writerFile(String cont, String path) {  File emailFile = new File(path);  try {
   //如果文件不存在,创建文件
   if (!emailFile.exists()) {
    emailFile.createNewFile();
   }
   
   Writer out = new FileWriter(emailFile);   out.write(cont);
   out.flush();
   out.close();
  } catch (Exception e) {
   e.printStackTrace();
  } }
 
 /**
  * 读取网络内容 
  */
 public static void readUrlCont(String strUrl) {
  
  StringBuffer cont = new StringBuffer();//内容
  
  try {
   URL url = new URL(strUrl);
   URLConnection conn = url.openConnection();
   BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
   String lineCont = "";
   while ((lineCont = reader.readLine())!= null) {
    cont.append(lineCont+"</br>");
   }
   
   reader.close();
   
  } catch (MalformedURLException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
  
  System.out.println(cont.toString());
 } public static void main(String[] args) {
  
  //String cont = readHtml("e://test.htm");//读取文件
  
  //writerFile(cont, "e://test.txt");//写文件
  
  //checkChinese("qwe123");
  
  readUrlCont("http://www.163.com");
  
 }}


 

 
邮件客户端的html格式邮件的解析规则教程(三) 背景属性 背景图像,是通过Html编码中的背景属性来实现的一种功能。但是,Outlook 2007 中仅在<body>标签内支持Background属性,在<table><tr><td>标签中都不支持此属性。另外,<body>元素虽支持Background属性,但默认情况下会被拦截,用户必须手动下载背景图像。 立即下载

相关推荐

正则表达式提取html中的所有的Email地址

C#编写正则表达式,用来提取html网页中的所有的Email地址,共享示例一枚!欢迎下载学习!欢迎访问:http://blog.youkuaiyun.com/zxcvbnm32123?viewmode=list

在html网页上在线连接邮箱,怎么在html中创建超级链接和电子邮件链接

1、首先新建一个首页,用什么软件写无所谓啊。2、然后在body随便写一个元素,我写一个P吧3、然后在里面写一个a标签,里面写一个href【超文本引用】4、接着写上你的需要链接的邮箱地址5、测试一下,是邮箱打开就行了6、如果想在收件人地址栏中同时输入多个电子邮件地址时,那么就可以使用形如“mailto: 123456789@qq.com;987654321@qq.com”这样的语句,记住每个电子邮件...

weixin_42532067的博客 1万+

SpringBoot项目启动后ShardingSphere5.0首次SQL查询慢?这个预热技巧帮你搞定

本文针对SpringBoot项目集成ShardingSphere 5.0后首次SQL查询慢的问题,深入剖析了其根源在于SQL解析引擎的懒加载与缓存初始化。文章提供了三种有效的预热技巧,包括精准的SQL解析引擎预热、简单查询触发全链路预热以及可配置的生产级方案,帮助开发者将初始化成本提前至应用启动阶段,从而消除性能毛刺,提升用户体验与系统稳定性。

chair的专栏 1063

php7 css样式不支持,邮件不支持css怎么办

邮件不支持css是由于使用了内部样式和外部样式导致的,其解决办法就是在邮件中使用内联样式,因为邮件主要部分在body内部,所以样式一定要写成内嵌的,不能在head标签中写style,也不能外联。本教程操作环境:Dell G3电脑、Windows7系统、css3版本。邮件不支持css?邮件是支持css的,但是需要使用内联样式,内部样式和外部样式无法使用。下面是一些在邮件中使用css的注意事项:1.邮...

weixin_35653679的博客 538

Python开发者必看:5分钟搞定Gemini API的3种调用方式(含代码示例)

本文为Python开发者详细介绍了三种高效调用Gemini API的核心方式:基础同步调用、流式调用和聊天模式,并涵盖多模态应用等高级特性。通过清晰的代码示例和实战场景分析,帮助开发者快速掌握Gemini API的集成与优化,提升AI应用开发效率。

g8f9d0s1a2的博客 1123

【软路由】旁路由使用配置教程

【软路由】旁路由使用配置教程简介旁路由好处旁路由配置步骤1、修改管理地址网段 简介 我们都知道,软路由一般有两种使用方式,一种是作为承担DHCP分配的主路由,而另一种就是作为不承担DHCP分配功能的旁路由使用。今天就来介绍如何将软路由配置成为旁路由。 旁路由好处 旁路由最大的好处就是它不承担DHCP分配任务,这意味着它的对网络的影响极小。即使突然故障也不会导致整个网络瘫痪。更别提软路由的配置复杂,用户可能还经常修改上面的网络配置,一旦出错就是整个网络瘫痪,如果家中还有其他人使用网络,影响实在是不好。 建议有

博客 4万+

html邮件解析

html邮件解析 #-*- encoding: gb18030 -*-import emailfp = open("a.eml", "r")msg = email.message_from_file(fp)# 循环信件中的每一个mime的数据块for par...

403

西门子交换机环网冗余设置(实战篇2.2)

MRP的重组时间为 200ms 因此 PROFINET 通信必须选择大于 200ms 的看门狗时间,看门狗。ET200SP默认为 2ms*3=6ms) MRP 的重组时间为 200ms 故系统会报出看门狗超时。更新,默认是 3 个周期,超出设置的周期数就会报 IO 设备故障。时间不是直接配置的,而是作为没有 IO 数据可接受的更新周期,也就是允许几个周期没有数据。来达到大于 200ms 的看门狗时间的要求(看门狗时间 可接受更新周期数 更新时间)。是IO 控制器和 IO 设备)

weixin_42580591的博客 370

HTML邮件基本使用方法

邮件HTML的基本使用规则及注意点

PorkCanteen的博客 4426

避坑指南:麒麟系统ARM架构下PostGIS离线安装常见问题解析

本文深度解析了在国产麒麟系统ARM64架构下进行PostGIS离线安装的完整路径与核心避坑点。通过对比Docker容器化与源码编译两种部署方式的优劣,详细阐述了离线Docker环境搭建、ARM64镜像获取验证、容器化配置及常见故障排查的全流程,为在特殊环境下稳定部署空间数据库提供了一套可靠的实践指南。

Python的专栏 287

DOTween回调函数的隐藏技巧:优化你的Unity动画流程

本文深入探讨了DOTween回调函数在Unity动画开发中的高级应用技巧,帮助开发者优化动画流程。通过分析回调机制、链式应用模式和大规模动画系统管理,提升性能与可维护性,特别适合需要高效处理复杂动画场景的Unity开发者。

weixin_27945229的博客 319

java 邮件无法解析html_Java读取html页面文件解析邮箱地址

[java]代码库package com.alpha.test;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;im...

weixin_30092051的博客 266

Proteus+汇编+8086电子时钟实战:从框架搭建到中断驱动的核心实现

本文详细介绍了使用Proteus仿真软件和8086汇编语言实现电子时钟的完整过程。从程序框架搭建、内存分段模型理解,到核心的8259中断控制器配置与编程,再到中断服务程序编写和数码管动态扫描显示驱动,系统阐述了底层软硬件协同开发的核心原理与实战步骤。该项目是深入理解计算机中断机制和汇编语言编程的绝佳实践。

weixin_29189381的博客 414

Java 爬虫(获取指定页面中所有的邮箱地址)

import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import java.util.ArrayList;import java.util.List;import java.uti...

weixin_34294649的博客 170

【现代人形机器人:从物理建模到大模型驱动的控制与学习】第1章 机器人建模回顾

本章建立读者进行后续控制 / 优化 / 学习工作的数学与计算基础。内容分为三大块:刚体运动学:位姿表示、坐标变换、旋转参数与李代数/李群(指数映射、twist)多关节机构的正/逆运动学:DH 与 POE 两种建模、雅可比矩阵推导、数值/解析逆解方法与奇异性问题约束动力学:拉格朗日公式、牛顿—欧拉递归算法、接触/冲击模型、受约束系统的方程(拉格朗日乘子与互补性条件)每一节同时给出与练习题。假设读者已具备线性代数(矩阵、特征分解、SVD)、多变量微积分与基础力学(牛顿第二定律)知识。

u012133341的博客 186

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

html邮箱地址的正则表达式,利用正则表达式提取html中的的Email地址

Demo源码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;using System.Text.RegularExpressions;namespace _12提取html中的所有的Email地址{class Program{static voi...

weixin_35691715的博客 2136

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

python-读取指定文件夹下邮件的正文(html格式)

问题描述 已知邮箱地址和密码,我需要用脚本读取某文件夹下8000多封邮件的正文,提取其中所需的内容。在测试中,我分别使用了imapclient包和imaplib包,只能说各有不便之处。不过,最终我使用的是imaplib包,完美解决我的问题。 imaplib包 注释写的很清楚了,不再解释。两个问题: 有的邮件在解码为中文时报错,最终只能以byte格式打印,那提取内容需要小心点。但是这个比例不高,我在8k+中只有3个是这样的; 比较慢。8k+封邮件用了近22分钟才保存完毕。 # -*- coding: ut

陆沙的博客 4442

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

favdb怎么转换成html,分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html...

分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html发布于 2016-01-10 14:37:52 | 189 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主...

weixin_29876591的博客 1138

爬虫中的页面解析和数据处理

文章目录什么是XMLXML 和 HTML 的区别XML文档示例HTML DOM 模型示例XML的节点关系1. 父(Parent)子(Children)3. 同胞(Sibling)4. 先辈(Ancestor)5. 后代(Descendant)什么是XPath?XPath 开发工具选取节点谓语(Predicates)选取未知节点选取若干路径XPath的运算符lxml库 正则用的不好,处理HTML文档...

weixin_45414731的博客 1887

html5_JQuery加载xml

转载自:http://www.jb51.net/article/92329.htmxml&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;stulist&gt; &lt;student email="1@1.com"&gt; &lt;name&gt;zhangsan&lt;/name&gt; &

milijiangjun的博客 891

正则表达式 抓取html中的邮箱

package regular; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader;

mexican_jacky的专栏 1694

HTML5基础

一、了解HTML5 HTML5属于上一代HTML的新迭代语言,设计HTML5最主要的目的是为了在移动设备上支持多媒体!!! 例如: video 标签和 audio 及 canvas 标记 1.1 新特性: 取消了过时的显示效果标记 和 … 2. 新表单元素引入 3. 新语义标签的引入 4. canvas标签(图形设计) 5. 本地数据库(本地存储) 6. 一些API 7. 跨平台 例如:比...

王道长的技术博客 931

HTML5新特性入门

HTML5基于上一代HTML的新迭代语言,设计HTML5的主要目的是为了在移动设备上支持多媒体,例如:video标签和audio标签及canvas标签 一、了解 新特性: 取消了过时的显示效果标记 新表单元素引入 新语义标签引入 canvas标签(图形设计) 本地数据库(本地存储) 一些API 好处: 跨平台 缺点: PC端浏览器支持不是特别友好 新语义标签:nav、header、artic...

SherrybabyOne的博客 245

html访问json字段,HTML如何获取JSON的数据并对其操作

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。那么如何实现HTML显示外部JS...

weixin_39722692的博客 4669

获取邮箱地址代码

import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern;

yizufengdou的专栏 1434

Python爬虫html网址实战笔记

仅供学习参考

一点记录 4000
上一篇: 要与不要
下一篇: 自己总结的常用的Oracle操作命令
JavaAlpha
博客等级 码龄18年 910粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值