Skip to content

导出截取关键字

提示

  • 菜单路径: 单个邮箱/邮件分类/邮件搜索的邮件列表中的邮件上【右键】 - 【自定义导出】

操作说明

  1. 单个邮箱/邮件分类/邮件搜索的邮件列表中的邮件上【右键】 - 【自定义导出】;
  2. 字段列表 中输入需要的内置字段宏,或固定字符串内容,可自由组合;
  3. 每行可以包含多个内置字段宏,多个固定字符,输入多行时,各行将用 字段分隔符 连接;
  4. 导出到 支持文本文件txtExcel文件。当选择Excel时,字段列表中每行将自动分列;
  5. 如果您使用 HTTP API插件 来获取邮件关键字内容,可在该窗口中测试好截取字段列表规则。

自定义导出截取关键字

导出截取关键字规则说明

心蓝有着强大的自定义导出截取关键字规则,内置字段宏以$标识符作为定义字段规则的开头和结尾,如$TITLE$将输出邮件主题,其它非$开头和结尾的固定字符串将直接原文输出。

1、 完整的内置字段宏

支持的内置字段宏

$EMAIL$:邮箱
$PASS$:密码
$COMMENTS$:邮箱备注
$TITLE$:邮件主题
$RECEIVED$:邮件接收时间
$FROMEMAIL$$FROM$:发件人
$RECEIVER$$TO$:收件人
$CC$:抄送
$IP$: 发件人IP
$MAILCOMMENTS$:邮件备注
$MAILGROUPS$:邮件分类
$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

常用截取内容举例:

  • 从邮件主题中截取连续6个数字:$TITLE-R|\d{6}$
  • 从邮件显示所见的文本内容中截取连续6个数字:$BODYTEXT-R|\d{6}$
  • 从邮件显示所见的文本内容中截取连续4个及以上数字:$BODYTEXT-R|\d{4,}$
  • 从邮件显示所见的文本内容中截取连续4到8个数字:$BODYTEXT-R|\d{4,8}$
  • 从所见的文本内容中截取冒号后连续4到8个数字:$BODYTEXT-R|(?<=[::]\s*)\d{4,8}(?!\d)$
  • 从所见的文本内容中截取冒号句号后连续6个数字:$BODYCLEAR-R|(?<=[::。.])\d{6}$
  • 从邮件显示所见的文本内容中截取连续6个大写字母及数字:$BODYTEXT-R|[\d0-9A-Z]{6}$
  • 从邮件显示所见的文本内容中截取连续10个大小写及数字:$BODYTEXT-R|[\d0-9a-zA-Z]{10}$
  • 从邮件HTML源代码中截取第一个按键网址链接:$BODY|<a href="|"$

3、 从内置字段宏中标记开头和结尾截取出中间的字串

标记目标关键字的前后头尾 截取中间 只取第一个符合的结果

$TITLE|<START1>|<END1>|[START2]|[END2]|......|[STARTn]|[ENDn]$
$BODY|<START>|<END>$
$BODYTEXT|<START>|<END>$
$BODYCLEAR|<START>|<END>$
$HEADER|<START>|<END>$
$SOURCE|<START>|<END>$

说明:即从内置字段宏内容中截取第一个开头<START>后面到结尾<END>前面这中间的内容。
<START1>|<END1>|[START2]|[END2]|......|[STARTn]|[ENDn]$即从前面的截取结果中再次截取。

举例:
A、从标题中截取: 如果邮件主题为"欢迎abc成为会员",要截取出abc
邮件主题的内置字段宏是$TITLE,所以截取字段定义为: $TITLE|欢迎|成$
如邮件内容为:"您的激活码为123456。",要截取的内容是123456
邮件文本内容的内置字段宏是$BODYTEXT,所以字段定义为:$BODYTEXT|激活码为|。$
B、如果邮件内容为HTML格式,需要截取HTML源代码中的字符,如某个链接:
不包含邮件头的邮件内容源代码的内置字段宏是$BODY$,所以则定义为:$BODY|href="|"$
C、如果要截取邮件标头中的Message-ID,则可以从邮件头的邮件原始内容中截取: 邮件头的邮件原始内容的内置字段宏是$SOURCE$,所以定义为: $SOURCE|Message-ID:|\n$
D、如下方截图,要截取兰兰
点击 【查看HTML源代码】,搜索兰兰,这个目标关键字的前面是normal;">作为开头,兰兰后面的<span做为结尾,所以$BODY|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.