教你如何设置Postfixadmin的自动回复

运维 系统运维
Postfix Admin 是一个基于Web的 Postfix 邮件发送服务器的管理工具,可以直接管理 Postfix 的虚拟域名和用户,前提是这些数据是存储在 MySQL 或者是 PostgreSQL 数据库中。支持超过20种语言。Postfixadmin的自动回复很方便,但是大家都不知道如何设置,本文就这技术教给大家。

Postfixadmin 是一个基于Web的 Postfix 邮件发送服务器的管理工具,邮箱的自动回复功能大家都用过,那如何在Postfix上实现呢,那就请Postfixadmin管理工具帮忙吧,请看下文。

  1. 创建一个本地帐户

  创建一个"vacation"的本地帐户,并且"vacation"不容许登陆。不要使用"nobody",也不能使用"root"和"postfix"等。

  #/etc/passwd

  vacation:*:65501:65501::0:0:Virtual Vacation:/nonexistent:/sbin/nologin

  #/etc/group

  vacation:*:65501:

  2. 为自动回复创建数据表

  USE postfix;

  #

  # Table structure for table vacation

  #

  CREATE TABLE vacation (

  email varchar(255) NOT NULL default '',

  subject varchar(255) NOT NULL default '',

  body text NOT NULL,

  cache text NOT NULL,

  domain varchar(255) NOT NULL default '',

  created datetime NOT NULL default '0000-00-00 00:00:00',

  active tinyint(4) NOT NULL default '1',

  PRIMARY KEY (email),

  KEY email (email)

  ) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Vacation';

  3. 创建一个目录

  创建一个目录,例如/var/spool/vacation,它只容许"vacation"用户访问

  vacation.pl脚本及其日志文件等将放在这里。

  4. 复制文件

  将$postfixadmin-2.1.0/VIRTUAL_VACATION/vacation.pl文件拷贝到刚才创建的文

  件夹中

  $ cp vacation.pl ;/vacation.pl

  $ chown -R vacation:vacation ;

  然后你将会看到:

  ls -al ;/

  -rwx------ 1 vacation vacation 3356 Dec 21 00:00 vacation.pl*

#p#

  5. 修改文件

  为了让 vacation.pl 能够执行所有邮件都回复这一特性,下面修改其内容:

  将if (do_cache ($email, $orig_from)) { return; } 这句注销掉即可。

  6. 开始对系统进行设置

  在master.cf中定义transport 的类型:

  #/etc/postfix/master.cf:

  vacation unix - n n - - pipe

  flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient}#

  在mail.cf 中设定一个 transport maps file

  下面举A/B两种方法

  A.哈希数据库

  #/etc/postfix/main.cf:

  transport_maps = hash:/etc/postfix/transport

  然后添加在/etc/postfix/transport 文件中添加一条新的解析记录

  #/etc/postfix/transport

  autoreply.yourdomain.com vacation

  注意:"autoreply.yourdomain.com"此处与$postfixadmin-2.1.0/config.inc.php文件中的$CONF['vacation_domain']的参数相同

  "vacation"要与master.cf 中的 "vacation" 相同

  执行 "postmap /etc/postfix/transport" 去创建一个哈希数据库

  执行 "postfix reload" 完成配置

  B.mysql数据库

  #/etc/postfix/main.cf:

  transport_maps = mysql:/etc/postfix/mysql/mysql_virtual_transport_maps.cf

  其中mysql_virtual_transport_maps.cf的内容如下

  user = postfix

  password = postfix

  hosts = 127.0.0.1

  dbname = postfix

  table = domain

  select_field = transport

  where_field = domain

  additional_conditions = and backupmx = '0' and active = '1'

  然后添加使用postfix admin 创建新域"autoreply.com",在Transport段中添加"vacation"

  执行 "postmap /etc/postfix/transport" 去创建一个哈希数据库

  执行 "postfix reload" 完成配置

看完全文大家有什么感想,有什么不懂的就给我留言,其实挺简单的!

【编辑推荐】

  1. PostfixAdmin 配置过程讲解
  2. 如何安装PostfixAdmin
  3. Postfixadmin 2.1.0安装笔记
  4. Postfixadmin安装手册
  5. 为中小企业用户配置Postfix
  6. 图文并茂 Postfix后台如何工作
  7. Postfix对邮件的处理流程
责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-01-20 09:45:51

PostfixAdmi

2013-04-09 18:13:44

微信公众平台关键词

2011-01-20 09:08:01

Postfixadmi

2010-08-05 14:50:42

AIX NFS

2011-01-20 09:34:23

Postfixadmi

2011-01-20 10:03:42

PostfixAdmi

2022-10-31 19:10:39

CSS元素focus

2011-01-19 11:17:20

2010-09-15 13:45:01

2021-04-18 10:24:35

WhatsAppAndroid恶意软件

2021-01-14 10:58:03

Python表情包微信

2016-03-08 10:30:15

2010-08-25 21:03:38

命令行DHCP

2010-07-28 10:37:56

二级路由器设置

2010-04-19 17:27:53

无线上网猫

2020-07-02 13:10:49

PyWeChatSpy拍一拍Python

2018-06-29 09:53:07

Python微信自动回复

2011-06-09 16:54:26

打印机技巧

2009-11-03 11:40:37

VB.NET共享变量

2009-06-27 14:11:17

点赞
收藏

51CTO技术栈公众号