Skip to content

导出提取关键字

在上一篇搜索邮箱与邮件中快速搜索到目标邮件后,可以利用心蓝的 【自定义导出】 功能快速批量导出需要的关键字内容。

导出提取关键字

快速搜索到目标邮件后,在搜索结果列表中 【右键】-【自定义导出】 可导出提取需要的关键字。
如需从内容中提取,请先右键菜单中选择下载邮件内容,完成后再 【右键】-【自定义导出】

心蓝有强大的自定义导出规则,以$标识符作为规的开头和结尾,在程序的字段列表中每行一个字段定义规则,导出时程序将列表中的所有行字段用指定的 字段分隔符 相连成为一行。

1、 直接提取完整的内置字段

支持的内置字段

$EMAIL$:邮箱
$PASS$:密码
$COMMENTS$:备注
$TITLE$:邮件标题
$RECEIVED$:邮件接收时间
$FROMEMAIL$$FROM$ :发件人
$RECEIVER$$TO$:收件人
$CC$:抄送
$IP$: 发件人IP
$SOURCE$:包含邮件头的邮件原始内容
$HEADER$:邮件头源代码
$BODYHTML$:如果是纯文本格式则返回邮件内容,如果是HTML格式,返回HTML源代码中的BODY部分源代码。
$BODY$:不包含邮件头的邮件内容源代码
$BODYTEXT$:邮件文本内容,如果是HTML格式将被转换为文本格式
$BODYCLEAR$:邮件文本内容且去掉所有空白换行符号,如果是HTML格式将被转换为文本格式 。 $ATTACHMENTS$: 邮件附件,格式为:附件1名称|附件1大小|附件2名称|附件2大小...
$TEMPKEY#$: 临时关键字。
      #为序号,从1开始。如省略序号,则表示第1个关键字,即$TEMPKEY$等同于$TEMPKEY1$
$DATE$: 当前日期,格式为yyyyMMdd,如20241101
$TIME$: 当前时间,格式为HHmmss,如130532
$RNDLINE$: 随机文本行。
      在程序的Data目录中放一个名字为Lines.txt的文本文件,程序将随机读取里面的某一行。
$RNDCONTENT$: 随机内容。
       在程序的Data\Letters目录中放置多个*.txt文件,程序将随机使用其中某个文件的内容。
${随机字符类型,随机个数起-随机个数止}$:生成指定类型和数量的随机字符串。
{A,3-16}表示随机3到16个大写字母,{Aa#,6}表示随机6位大小写字母和数字。
随机字符类型:
A:大写字母
a:小写字母
#:数字
Aa:大小写字母
A#:大写字母和数字
a#:小写字母和数字
Aa#:大小写字母和数字
汉:简体中文
漢:繁体中文

以上字段为常见的邮件的标准字段,直接调用即可导出。
如需要提取特殊的关键字内容,请使用下面的两种方法。

2、 从内置字段中再使用正则提取部分关键字

支持的内置字段表达式提取

$TITLE-R|<正则表达式>$
$BODYHTML-R|<正则表达式>$
$BODY-R|<正则表达式>$
$BODYTEXT-R|<正则表达式>$
$BODYCLEAR-R|<正则表达式>$
$HEADER-R|<正则表达式>$
$SOURCE-R|<正则表达式>$
说明:提取满足正则表达式的第一个结果内容,如果需返回所有符合的结果,将-R替换为-RA

举例:
获取连续10位数字或英文字符串:$BODYTEXT-R|[\da-zA-Z]{10}$
如从邮件显示所见的文本内容中提取6位连续的数字:$BODYTEXT-R|\d{6}$

3、 从内置字段中标记开始和结尾提取出第一个符合的中间字串

标记两头 提取中间 只取第一个符合的结果

$TITLE|<START1>|<END1>|[START2]|[END2]|......|[STARTn]|[ENDn]$
$BODY|<START>|<END>$
$BODYTEXT|<START>|<END>$
$BODYCLEAR|<START>|<END>$
$HEADER|<START>|<END>$
$SOURCE|<START>|<END>$
说明:提取满足字段定义的第一个内容,即提取到满足的第一个内容就终止。

举例:
A、如从标题中提取: 如果邮件标题TITLE为"欢迎abc成为会员",要提取出abc
则字段定义为: $TITLE|欢迎|成$
如邮件内容为:"您的激活码为123456。",要提取的内容是123456
则字段定义为:$BODYTEXT|激活码为|。$
B、如果邮件内容为HTML格式,需要提取HTML中的字符,如提取HTML代码中的某个链接,
则定义为:$BODY|href="|"$
C、如果要提取邮件标头中的Message-ID,则可以从源代码中提取,
定义为: $SOURCE|Message-ID:|\n$
D、如下方截图,要提取兰兰,点击 【查看HTML源代码】 后,搜索兰兰后,
再搜它的前面的normal;">只有唯一一个,所以这个作为开始,兰兰后面到<span做为结尾,
自然就取值出来中间的兰兰

找到关键字前面唯一到值

标记前面和后面提取中间

  • 以上截图所示提取得到:邮箱地址,兰兰

4、 从内置字段中标记开始和结尾提取出所有符合的中间字串

标记两头 取值中间 取所有符合的结果

$BODY-A|<START>|<END>$
$BODY-A-EX|<BODY-START>|<BODY-END>|<START>|<END>$
$BODYTEXT-A|<START>|<END>$
$BODYTEXT-A-EX|<BODY-START>|<BODY-END>|<START>|<END>$
$BODYCLEAR-A|<START>|<END>$
$BODYCLEAR-A-EX|<BODY-START>|<BODY-END>|<START>|<END>$
$HEADER-A|<START>|<END>$
$HEADER-A-EX|<BODY-START>|<BODY-END>|<START>|<END>$
$SOURCE-A|<START>|<END>$
$SOURCE-A-EX|<BODY-START>|<BODY-END>|<START>|<END>$
说明:提取满足字段定义的所有内容,即提取到满足的第一个后,继续提取,直到邮件尾。

BODY-A-EX先将邮件内容进行<BODY-START>|<BODY-END>提取后再进行BODY-A的相同提取。

举例:
如邮件内容中多次出现:"您的可用KEY是:XXXXXX。",要提取每个不同的XXXXXX
则字段定义可使用:$BODY-A|KEY是:|。$

其它说明

  • 推荐使用$BODYTEXT$,即HTML格式将被转换为文本格式再做提取。
  • <START><END>是一组起始和结尾关键字组合,可以有多个组合,即在第一组提取后再对第一组的提取结果进行第2组关键字提取,依次进行N次提取。
    如:原始文本为"您的激活码为ABC-123456。",如果要提取"123456",
    则字段定义可使用"$BODY|激活码为|。|-|$"
  • 有三个常用的符号:\r表示回车,\n表示换行,\t表示制表符。实际应用中很多看到的换行是由回车+换行组成的,即使用\r\n来表示。
  • 可以对截取结果进制编码或解码,只需要在字段名称前加编码类型即可。
    支持以下4种编/解码: URLENCODE,URLDECODE,HTMLENCODE,HTMLDECODE
    如需对发件人进行HTML编码,则使用$HTMLENCODE-FROM$。(从v275版本开始支持)

Released under the MIT License.