Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 转发邮件,将正文开头添加到邮件主题_Email_Email Headers_Procmail - Fatal编程技术网

Email 转发邮件,将正文开头添加到邮件主题

Email 转发邮件,将正文开头添加到邮件主题,email,email-headers,procmail,Email,Email Headers,Procmail,如何使用例如procmail将body的开头附加到邮件的主题?新邮件的正文可以删除。更新仅提取mime文本部分 可以这样做: :0 c * optional rules { MAILSUBJ=`formail -zcxSubject:` MAILBODY=`/usr/local/bin/extract-mime-text.sh` NEWSUBJ="$MAILSUBJ $MAILBODY" :0 fw | formail -I"Subject: $NEWS

如何使用例如procmail将body的开头附加到邮件的主题?新邮件的正文可以删除。

更新仅提取mime文本部分

可以这样做:

:0 c
* optional rules
{
    MAILSUBJ=`formail -zcxSubject:`
    MAILBODY=`/usr/local/bin/extract-mime-text.sh`
    NEWSUBJ="$MAILSUBJ $MAILBODY"

    :0 fw
    | formail -I"Subject: $NEWSUBJ"

    :0
    !sms@x.com
}
使用/usr/local中的脚本

#!/bin/bash

T=/tmp/tmpmail.$$.$RANDOM
cat /dev/stdin > $T
for i in `reformime -i < $T | grep -B1 "content-type: text/plain" | grep section | cut -d: -f2`; do
    reformime -s$i -e < $T | sed -e "s/[ \t]\+/ /g" | tr -d "\n"
done
rm $T
#/bin/bash
T=/tmp/tmpmail.$$.$RANDOM
cat/dev/stdin>$T
对于'reformime-i<$T | grep-B1“内容类型:text/plain”| grep section | cut-d:-f2`中的i;做
重整时间-s$i-e<$T|sed-e“s/[\T]\+//g”| tr-d“\n”
完成
rm$T

通过这种方式,您可以很好地将邮件转发到进行SMS转发的伪电子邮件地址(邮件文本部分的开头将以主题结尾,因为在许多情况下,只有主题被转发到SMS)

我不熟悉
reformime
——显然它来自邮件投递包。在Procmail中使用Maildrop工具很有趣,但我并不抱怨。(-: