ITPub博客

首页 > Linux操作系统 > Linux操作系统 > postfix 配置(4)

postfix 配置(4)

原创 Linux操作系统 作者:bontonpan 时间:2009-02-16 12:20:13 0 删除 编辑
六、 postfix中的命令行工具及其它

  下面我们来看一看postfix的命令行工具,通过这些工具的使用可能会使你
  对postfix的管理更简单。

  6.1 sendmail兼容的命令行工具

  1. mailq  对邮件队列文件进行列表。表中的每一个条目包含有以下信息:
  队列文件ID、邮件的大小、到达的时间、发件人、收件人和投递延迟的原因(如果投递有延迟的话)。该命令主要是与showq后台程序通信来获取队列文件的相关信息。该命令无参数。

  2. newaliases 该工具进行别名数据库的初始化。如果没有指定数据库的类
  型,则使用系统默认的数据库类型(在linux下为hash)。该命令可以不带参数执行。

  6.2 postfix自带的命令行工具

  1. postcat  打印邮件队列文件的内容。后面界要显示的队列文件名,可以
  带一个-v的参数进行冗余显示。

  2. postconf  打印配置参数设置后的值或postfix的其他信息。
               -d 打印配置参数的缺省值。
               -m 列出所有支持的查询表类型。
                  不带参数则打印配置参数设置后的值。

  3. postmap  建立postfix查询数据库。在linux下可以直接跟上原始文件
  而不带任何参数来建立该数据库。

  6.3 postfix的日志
  postfix的日志文件位于/etc/log/maillog, 文件中包含有postfix的启动信息、出错信息以及同其他SMTP服务器的会话等等。如下所示:

  Sep 10 05:54:17 mail postfix/smtpd[5072]: disconnect from unknown[204.140.244.150]
  Sep 10 06:06:00 mail postfix/qmgr[467]: 50D403DF8: from=, size=6591 (queue active)
  Sep 10 06:11:06 mail postfix/smtp[5085]: connect to bjmx2.163.net[202.108.255.241]: read timeout (port 25)
  Sep 10 06:16:07 mail postfix/smtp[5085]: connect to bjmx3.163.net[202.108.255.242]: read timeout (port 25)
  Sep 10 06:21:08 mail postfix/smtp[5085]: connect to bjmx1.163.net[202.108.255.240]: read timeout (port 25)

  6.4 在postfix中使用MySQL数据库
  Scott Cotton 和 Joshua Marcus写了一段可以在postfix中添加mysql映射类型的代码,从而我们可以将postfix查询的别名数据库等数据存储在mysql数据库中,让postfix进行mysql查询来得到结果。这样做将有助于提供postfix的运行效率, 有其对需要不断对映射数据的站点特别有用。

     1.为postfix添加识别mysql数据库映射的功能
  a. 由于这段代码使用了mysql客户端库,所以我们必须安装mysql的开包。
  可以到www.redhat.com等linux相关站点下载mysql开发包,也可以从某些linux的资源光盘中取得mysql的开发包,如MySQL-client-3.22.30-1.i386.rpm。
     b. 安装该开发包:
     rpm -ivh MySQL-client-3.22.30-1.i386.rpm
  c. 下载postfix的源代码包,根据本章“3.1源代码包的安装”的提示进行
  安装,但是注意在执行make命令之前先执行以下命令:
  make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -I /usr/include/mysql' 
                             'AUXLIBS=/usr/lib/mysql/libmysqlclient.a -lm'
     
  5. 配置postfix使用mysql数据库映射
  我们以alias_maps进行说明。在main.cf中指定:
     alias_maps = mysql:/etc/postfix/mysql-aliases.cf

  6. 编辑mysql-aliases.cf

  #首先指定登录到mysql服务器的用户名和密码
  user = your_user_name
  password = your_password

  #连接的数据库名称
  dbname = your_database_name

  #查询的表名
  table = mytable

  #添加表的字段名称
  #forward_addr为转发地址
  #alias为别名数据
  select_field=forward_addr
  where_field=alias
  #添加附加的查询条件
  additional_conditions=and status='paid'

  #指定要连接的MySQL服务器
  hosts=your.mysql.server

     这样,当发生一个查询的时候,postfix是以这样的SQL语句进行查询的:
     select forward_addr from mytable where alias='$lookup' and status='paid'

     以上只是一个例子。在实际的运用中您可以指定多个mysql数据库,使用多个数据表格

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11754813/viewspace-553419/,如需转载,请注明出处,否则将追究法律责任。

上一篇: postfix 配置(3)
下一篇: resume
请登录后发表评论 登录
全部评论

注册时间:2009-01-30

  • 博文量
    52
  • 访问量
    36727