postfix中如何获得一个邮件的信封信息(envelop header)


关键词

postfix中如何获得一个邮件的信封信息(envelop header)

摘要

postfix中如何获得一个邮件的信封信息(envelop header)

有些时候,我们需要邮件的信封信息(envelop header),(一个邮件的信体信息很容易获得,这里不叙述)
下面简单的说说怎么通过postfix的pipe来获得一个邮件的信头信息

大概实现过程如下:
设置content_filter,让postfix把邮件送到content_filter所指向的filter程序,这个filter程序由postfix
的pipe来调用,pipe调用这个filter程序时候,可以把信封信息(mail from 和rcpt to 信息)传递给filter
程序

做法:
(1) filter程序的编写(这里使用shell)这个程序是:/tmp/myfilter.sh
内容如下
#!/bin/bash
cat > /tmp/messges_infor_txt  #这句的作用就是把邮件的信体内容写到/tmp/messges_infor_txt文件中
echo "$@" > /tmp/envelop_infor_txt
#这句的作用就是把邮件的“信封内容”写到/tmp/envelop_infor_txt文件中
然后分别建立2个文件
touch /tmp/messges_infor_txt
touch /tmp/envelop_infor_txt
设置相关的权限
chmod 777 /tmp/myfilter.sh
chmod 777  /tmp/messges_infor_txt
chmod 777  /tmp/envelop_infor_txt
(这里为了演示实现filter功能,所以设置为“world-writable”
大家设置的时候,请设置好限制,不要world-writable)
(2)设置content_filter
在/etc/postfix/main.cf中设置
content_filter = myfilter
(3)设置master.cf
在/etc/postfix/master.cf中加入:
myfilter    unix  -       n       n       -       -      pipe
   flags=Rq user=filter argv=/tmp/myfilter.sh  ${sender}  -- ${recipient}

(4)重载
/etc/init.d/postfix  reload
postfix中如何获得一个邮件的信封信息(envelop header)

有些时候,我们需要邮件的信封信息(envelop header),(一个邮件的信体信息很容易获得,这里不叙述)
下面简单的说说怎么通过postfix的pipe来获得一个邮件的信头信息

大概实现过程如下:
设置content_filter,让postfix把邮件送到content_filter所指向的filter程序,这个filter程序由postfix
的pipe来调用,pipe调用这个filter程序时候,可以把信封信息(mail from 和rcpt to 信息)传递给filter
程序

做法:
(1) filter程序的编写(这里使用shell)这个程序是:/tmp/myfilter.sh
内容如下
#!/bin/bash
cat > /tmp/messges_infor_txt  #这句的作用就是把邮件的信体内容写到/tmp/messges_infor_txt文件中
echo "$@" > /tmp/envelop_infor_txt
#这句的作用就是把邮件的“信封内容”写到/tmp/envelop_infor_txt文件中
然后分别建立2个文件
touch /tmp/messges_infor_txt
touch /tmp/envelop_infor_txt
设置相关的权限
chmod 777 /tmp/myfilter.sh
chmod 777  /tmp/messges_infor_txt
chmod 777  /tmp/envelop_infor_txt
(这里为了演示实现filter功能,所以设置为“world-writable”
大家设置的时候,请设置好限制,不要world-writable)
(2)设置content_filter
在/etc/postfix/main.cf中设置
content_filter = myfilter
(3)设置master.cf
在/etc/postfix/master.cf中加入:
myfilter    unix  -       n       n       -       -      pipe
   flags=Rq user=filter argv=/tmp/myfilter.sh  ${sender}  -- ${recipient}

(4)重载
/etc/init.d/postfix  reload

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权


如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« 使用移动设备连接到Exchange Server 2007 debian 3.0(sarge)下postfix邮件系统解决方案--deb包安装法 »

相关文章:

腾讯企业邮箱POP,SMTP分别是什么  (2014/9/4 8:23:19)

邮件服务器架设  (2014/3/9 13:27:43)

winwebmail邮局附件大小  (2014/3/8 10:13:12)

Exchange服务器快速恢复的步骤  (2013/10/24 14:04:36)

使域名DNS解析支持DKIM  (2013/5/27 16:45:56)

邮局使用SPF  (2013/5/24 12:27:46)

用telnet来理解SMTP协议  (2013/5/24 12:23:38)

qmail+vpopmail+squirrelmail 安装经验谈  (2013/9/6 10:59:41)

LINUX中的QMail邮件安全问题  (2013/9/5 10:59:12)

用qmail/vpopmail/courier-imap/qmail-scanner/igenus打造邮件系统  (2013/8/31 10:59:13)