设为首页 收藏本站
查看: 1177|回复: 0

[经验分享] Postfix接收邮件后转向执行特定的脚本

[复制链接]

尚未签到

发表于 2015-11-24 10:59:11 | 显示全部楼层 |阅读模式
  本文主要参考:http://serverfault.com/questions/258469/how-to-configure-postfix-to-pipe-all-incoming-email-to-a-script
      在Postfix邮件服务器搭建过程中,有时候会希望Postfix接收到邮件之后,能够转向执行特定的脚本。与之相类似的实际功能有,邮件自动回复程序、邮件内容过滤等。这个的功能可以通过配置Postfix来实现。本文将介绍一种当 Postfix 接收到邮件之后,转向执行特定 shell 脚本的方法。
    本文中所使用的方法的具体解决思路是:通过修改传输表(transport_maps),使得Postfix接收到邮件之后,不直接转递给 MDA,而转投给特定的脚本程序。
    具体来说,需要进行五个步骤:
1. 创建一个传输表,用于说明符合什么样要求的邮件会被转递
2. 将传输表编译成为 Postfix 熟悉的数据格式
3. 在 Postfix 的 master.cf 文件中设置一个服务,告诉Postfix,需要将邮件转递到特定的脚本
4. 在 Postfix 的 main.cf 中设置 transport_maps 参量,告诉Postfix 需要使用到传输表
      下面是每一步的具体操作
1、创建文件 /etc/postfix/transport  ,告诉postfix 以下域名收到的邮件将启动名为 mytransportname 的服务
mydomain.com    mytransportname:
2、将该文件编译成为 Postfix 识别的格式
$ sudo postmap /etc/postfix/transport
3、在 /etc/postfix/master.cf 中增加传输服务:
  mytransportname   unix  -       n       n       -       -       pipe
flags=FR user=localuser argv=/path/to/my/script.py
${nexthop} ${user}

其中,flags 为服务标识;user 为用户名(注意权限问题);argv为脚本程序的地址。在这里,此服务需要执行的脚本是 /path/to/my/script.py
4、最后,在 /etc/postfix/main.cf 中,将传输表的配置增加进去
transport_maps = hash:/etc/postfix/transport
      完成以上步骤之后,重启Postfix即可(service postfix restart)。注意,脚本必须具有可执行权限,并且 user 用户有权限执行该脚本。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-143007-1-1.html 上篇帖子: 邮件服务器搭建 Centos+Postfix+Dovecot+Roundcube 下篇帖子: Postfix接收邮件后转向执行特定的脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表