简易安装postfix邮件服务器

12/3/2006来源:Qmail人气:7313

postfix邮件服务器(debian sarge)

  1、简要说明
  简易安装postfix邮件服务器

  2.1、mail:~#apt-get install postfix

  安装,根据提示选"Internet Site"

  Where should mail for root go填postfix

  Mail name?填mail.wjjennluen.com

  Other destinations to accept mail for?(blank for none)填mail.wjjennluen.com, localhost.wjjennleun.com, ,localhost

  Force synchronous updates on mail queue?选否

  2.2、检查postfix服务是不是已经运行

  mail:~# netstat -ln|grep 25

  tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN

  tcp6 0 0 :::25 :::* LISTEN

  unix 2 [ ACC ] STREAM LISTENING 20256 /tmp/.ICE-unix/11772

  2.3、测试postfix

  mail:~# telnet 127.0.0.1 25

  Trying 127.0.0.1...

  Connected to 127.0.0.1.

  Escape character is '^]'.

  220 mail.wjjennluen.com ESMTP Postfix (Debian/GNU)

  ehlo mail

  250-mail.wjjennluen.com

  250-PipELINING

  250-SIZE 10240000

  250-VRFY

  250-ETRN

  250 8BITMIME

  mail from: "This is a test mail!"

  250 Ok

  rcpt to:

  250 Ok

  data

  354 End data with .

  This is a test mail!

  .

  250 Ok: queued as 4888ACA0060

  quit

  221 Bye

  Connection closed by foreign host.

  好象是发出去了噢

  2.4、检查刚发的邮件是否收到

  mail:~#apt-get install mailx   下载mail阅读器

  mail:~# su - wxt

  [email protected]~:$ mail

  No mail for wxt

  [email protected]:~$exit

  mail:~#:

  my god,没有邮件啊

  mail~:#more /var/mail/wxt

  没有

  mail~:#more /var/spool/mail/wxt

  没有

  咱回事呢

  mail:~# telnet 127.0.0.1 25

  Trying 127.0.0.1...

  Connected to 127.0.0.1.

  Escape character is '^]'.

  220 mail.wjjennluen.com ESMTP Postfix (Debian/GNU)

  ehlo mail

  250-mail.wjjennluen.com

  250-PIPELINING

  250-SIZE 10240000

  250-VRFY

  250-ETRN

  250 8BITMIME

  mail from: "abc"

  250 Ok

  rcpt to:

  250 Ok

  data

  354 End data with .

  abc

  .

  250 Ok: queued as 609D0CA00BB

  quit

  221 Bye

  Connection closed by foreign host.

  mail:~# more /var/mail/wxt

  From [email protected] Sat Jul 2 18:33:56 2005

  Return-Path:

  X-Original-To: wxt

  Delivered-To: [email protected]

  Received: from mail (localhost.localdomain [127.0.0.1])

  by mail.wjjennluen.com (Postfix) with ESMTP id 609D0CA00BB

  for ; Sat, 2 Jul 2005 18:33:42 +0800 (CST)

  Message-Id: <[email protected]>

  Date: Sat, 2 Jul 2005 18:33:42 +0800 (CST)

  From: [email protected]

  To: undisclosed-recipients:;

  abc

  mail:~#

  收到了,此时postfix工作在127.0.0.1上的,也就是localhost

  查看mydestination参数的设定 

  mail:~# postconf |grep mydestination

  mydestination = mail.wjjennluen.com, localhost.wjjennluen.com, , localhost

  没有wjjennleun.com,所以用[email protected]发信,postfix不会接受,所以要添加wjjennluen.com给mydestination

  mail:~# postconf |grep mydestination

  mydestination = mail.wjjennluen.com wjjennluen.com localhost.wjjennluen.com localhost

  现在就可以收到了

  mail:~#>/var/mail/wxt

  mail:~# telnet 127.0.0.1 25

  Trying 127.0.0.1...

  Connected to 127.0.0.1.

  Escape character is '^]'.

  220 mail.wjjennluen.com ESMTP Postfix (Debian/GNU)

  ehlo mail

  250-mail.wjjennluen.com

  250-PIPELINING

  250-SIZE 10240000

  250-VRFY

  250-ETRN

  250 8BITMIME

  mail from: "abc"

  250 Ok

  rcpt to:

  250 Ok

  data

  354 End data with .

  abc

  .

  250 Ok: queued as 609D0CA00BB

  quit

  221 Bye

  Connection closed by foreign host.

  mail:~# more /var/mail/wxt

  From [email protected] Sat Jul 2 18:33:56 2005

  Return-Path:

  X-Original-To: wxt

  Delivered-To: [email protected]

  Received: from mail (localhost.localdomain [127.0.0.1])

  by mail.wjjennluen.com (Postfix) with ESMTP id 609D0CA00BB

  for ; Sat, 2 Jul 2005 18:33:42 +0800 (CST)

  Message-Id: <[email protected]>

  Date: Sat, 2 Jul 2005 18:33:42 +0800 (CST)

  From: [email protected]

  To: undisclosed-recipients:;

   abc

   mail:~#

  

  2.5、安装pop3,imap

  mail:~#apt-get install courier-pop courier-imap

  注意/etc/courier/pop3d配置文件

  注意/etc/courier/imapd配置文件

  用Outlook测试pop3和imap成功

  2.6、安装apache,php,squirrelmail

  mail:~#apt-get apache php4 php4-common squirrelmail

  修改/etc/apache/httpd.conf

  加入PHP支持

  AddType application/x-httpd-php .php

  AddType application/x-httpd-php-source .phps

  新建文件/var/www/test.php

  

  phpinfo();

  ?>

  在浏览器地址栏内输入http://192.168.0.15/test.php

  可以确定PHP是否可以正常工作

  2.7、从mailbox 更改为maildir

  修改/etc/postfix/main.cf

  增加参数设置

  home_mailbox = Maildir/

  更改mailbox_command 参数为

  mailbox_command = /usr/bin/PRocmail -a "$EXTENSION" DEFAULT=$HOME/Maildir/

  新增

  MAILDIR=$HOME/Maildir

  mail:~#cd /home/wxt/

  mail:~#maildirmake Maildir

  mail:~#chmod -R 750 Maildir

  mail:~#ln -s /usr/share/squirrelmail /var/www/squirrelmail

  修改/usr/share/squirrelmail/config/conf.pl内的变量$auto_create_special = ture;,让squirrelmail自动增加三个子目录

  添加webmail虚拟主机(基于名子)

  打开/etc/apache/httpd.conf

  添加虚拟主机配置参数

  NameVirtualHost 192.168.0.15

  

  ServerAdmin [email protected]

  DocumentRoot /var/www/squirrelmail

  ServerName webmail.wjjennluen.com

  ErrorLog /var/log/apache/webmail/error.log

  

  mail:~#makdir /var/log/apache/webmail

  mail:~#touch /var/log/apache/webmail/error.log

  注意在named配置文件里面加入webmail.wjjennluen.com的记录

  在浏览器的地址栏内输入webmail.wjjennluen.com就可以登陆webmail了

  2.7、给postfix 加上smtp 认证

  mail:~# apt-get install postfix-tls sasl2-bin libsasl2-modules

  修改/etc/default/saslauthd文件,设定START = yes

  修改/etc/postfix/sasl/smtpd.conf,设定saslauthd来认证smtp

  mail:~#mkdir /etc/postfix/sasl

  mail:~#echo "pwcheck_method: saslauthd" > /etc/postfix/sasl/smtpd.con

  添加帐户postfix到sasl组

  mail:~#addgroup postfix sasl

  修改/etc/postfix/main.cf, 使postfix使用sasl来实现smtp验证功能

  #=====sasl======#

  smtpd_sasl_auth_enable = yes

  broken_sasl_auth_clients = yes

  smtpd_sasl_security_options = noanonymous

  smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_relay_domains, reject_unauth_destination

  smtpd_client_restrictions = permit_sasl_authenticated

  修改/etc/postfix/master.cf,让postfix不要以chroot启动,参数-v可以用来debug,正式上线为了不使大量的log,一定要拿掉

  # ==============================================

  # service type private unpriv chroot wakeup maxproc command + args

  # (yes) (yes) (yes) (never) (100)

  # ==============================================

  smtp inet n - n - - smtpd -v

  重新启动sasl 验证程序

  mail:~# /etc/init.d/saslauthd restart

  重新启动postfix

  mail:~#/etc/init.d/postfix restart

  mail:~# testsaslauthd -u wxt -p wxt

  0: OK "Success."

  测试sasl验证程序可以正常工作了