首页 运维 正文
教你如何设置Postfixadmin的自动回复

 2022-10-23    424  

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

  1. 创建一个本地帐户

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

  创建一个"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" 完成配置

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

原文链接:https://77isp.com/post/9021.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。