最簡多域郵件系統

  在前人基礎上修改確認而來。無任何防護措施。適合僅發送,不接收,

使用非系統用戶做驗證,,單個密碼文件支持smtpd pop3 imap認證。

增加添加用戶腳本

 

 

所需軟件: postfix ,dovecot

 

安裝基礎平臺

yum -y install openssl-devel kernel-devel gcc 

 

簡單POSTFIX 安裝

 

一,    所用IP及域名

       IP:192.168.0.51    (根據實際情況更改)

       域名:150ml.com    (根據實際情況更改)

 

二,    所需軟件

1,    POSTFIX

         版本:postfix-2.3.19.tar.gz

         功能:SMTP

         官方網站:http://www.postfix.org/

         下載地點:http://www.postfix.org/download.html

 

2.         DOVECOT

         版本:dovecot-1.0.15.tar.gz

         功能:SMTP認證,POP3,IMAP

         官方網站:http://www.dovecot.org/

         下載地點:http://www.dovecot.org/download.html

                 http://www.dovecot.org/releases/dovecot-1.0.15.tar.gz

三,    安裝前的準備

         1,    修改主機名

     1.1  修改host表

       vi /etc/hosts

       127.0.0.1  mail.150ml.com localhost.localdomain localhost

192.168.0.51 mail.150ml.com 

確認內網訪問正常,該服務器被映射到公網,25 110 143可以被訪問

 

    2,添加DNS地址

 

echo 'nameserver 202.99.8.1' >> /etc/resolv.conf

echo 'nameserver 202.106.0.20' >> /etc/resolv.conf

 

   

      3,時間同步

echo 'ntpdate time.nist.gov;hwclock -w' >> /etc/rc.local

ntpdate time.nist.gov;hwclock -w

 

        #添加計劃任務

echo '01 * * * * /usr/sbin/ntpdate time.nist.gov;/sbin/hwclock -w' >> /var/spool/cron/root

    4,    停止原有的mail

service sendmail stop

chkconfig -level 2345 sendmail off

mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF

mv /usr/bin/newaliases /usr/bin/newaliases.OFF

mv /usr/bin/mailq /usr/bin/mailq.OFF

四,    安裝 DOVENT

1,    建立用戶

useradd -s /sbin/nologin -d /dev/null dovecot

2,    安裝

 

tar -zxvf  dovecot-1.0.15.tar.gz

cd dovecot-1.0.15

./configure

 make  && make install && cp /usr/local/etc/dovecot-example.conf /usr/local/etc/dovecot.conf

 

3,    修改配置文件

###設立用戶名和密碼文件是 /etc/postfix/passwd####

vi /usr/local/etc/dovecot.conf

base_dir = /var/run/dovecot/

protocols = imap  pop3

listen = *

ssl_disable = yes

login_dir = /var/run/dovecot/login

login_user = dovecot

default_mail_env = maildir:/mail/vhosts/%d/%n/  

pop3_uidl_format = %v

passdb passwd-file {

args = /etc/postfix/passwd

            }

userdb passwd-file {

args = /etc/postfix/passwd

            }

auth default {       

mechanisms = plain login

  

socket listen {

client {

path = /var/spool/postfix/private/auth

mode = 0660

user = postfix

group = postfix

        }

}

}

 

五,    安裝POSTFIX

 1,    建立用戶

groupadd -g 12345 postfix

useradd -u 12345 -g postfix -s /sbin/nologin -d /dev/null postfix

groupadd -g 54321 postdrop

groupadd -g 5000 vmail

useradd -u 5000 -g vmail -s /sbin/nologin -d /dev/null vmail

 2,    安裝

tar -zxvf postfix-2.3.19.tar.gz

cd postfix-2.3.19.tar.gz

make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"'

make && make install

 

(一路回車)

3,    修改main.cf

修改自己的hostname domain-name mynetwork  

          vi /etc/postfix/main.cf:

          ##添加如下代碼

 

#smtp auth  (SMTP 認證)

smtpd_sasl_auth_enable = yes

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

smtpd_sasl_security_options = noanonymous

smtpd_recipient_restrictions = permit_sasl_authenticated permit_auth_destination reject

 

#virtual mailbox domain

virtual_mailbox_domains=/etc/postfix/vdomains

virtual_mailbox_base=/mail/vhosts

virtual_mailbox_maps=hash:/etc/postfix/vmailbox

virtual_mailbox_uid=100

virtual_uid_maps=static:5000

virtual_gid_maps=static:5000

virtual_alias_maps=hash:/etc/postfix/virtual

 

 

六,    添加域名,添加用戶

 

mkdir /mail/vhosts

chown vmail.vmail /mail/vhosts

postmap /etc/postfix/vmailbox

postmap /etc/postfix/virtual

 

  例如要添加的域名:150ml.com,添加的用戶:[email protected] 密碼test

 

使用addm.sh 添加 

格式爲 addm.sh  域名 用戶名 密碼

./addm.sh 150ml.com test test 

 

#!/bin/bash

#wirte by brayden_yang charmspacebiz#gmail.com

#$1=domain name  ;$2 = username ;$3 password

echo "$1" >> /etc/postfix/vdomains

uniq /etc/postfix/vdomains > /etc/postfix/vd1
cat /etc/postfix/vd1 > /etc/postfix/vdomains

echo "$2@$1 $1 /$2/" >> /etc/postfix/vmailbox

echo "$2@$1:{plain}$3:5000:5000::/mail/vhost/$1  /$1/" >> /etc/postfix/passwd

 
七,   啓動
dovecot -c /usr/local/etc/dovecot.conf
postfix start
八,    測試
#netstat -nlp
查看 110,25 ,143  端口是否開放
通過以下命令獲得[email protected]的用戶名及密碼的BASE64編碼:
perl -e 'use MIME::Base64; print encode_base64("[email protected]"'
dGVzdEAxNTBtbC5jb20=
perl -e 'use MIME::Base64; print encode_base64("test"'
dGVzdA==
 
[root@smtp root]# telnet localhost 25            ----->手工填寫
Trying 127.0.0.1...
Connected to mail.150ml.com (127.0.0.1).
Escape character is '^]'.
220 mail.150ml.com ESMTP Postfix
ehlo aa.com     ----->手工填寫
250-mail.150ml.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth login           ----->手工填寫
334 VXNlcm5hbWU6
dGVzdEAxNTBtbC5jb20=    ----->手工填寫
334 UGFzc3dvcmQ6
dGVzdA==    ----->手工填寫
235 2.0.0 Authentication successful
mail from:<[email protected]>    ----->手工填寫
250 2.1.0 Ok
rcpt to:<[email protected]>    ----->手工填寫
250 2.1.5 Ok
data           ----->手工填寫
354 End data with <CR><LF>.<CR><LF>
good mail        ----->手工填寫
.           ----->手工填寫
250 2.0.0 Ok: queued as 1F2706FDDA
出現235 Authentication Successful 表明認證成功了。
這樣 就以[email protected]發送一封郵件給剛建立的用戶 [email protected]
 
測試 110
 
 
[root@smtp root]# telnet localhost 110
Trying 127.0.0.1...
Connected to mail.150ml.com (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.
user [email protected]             ----->手工填寫
+OK
pass test        ----->手工填寫
+OK Logged in.
list        ----->手工填寫
+OK 1 messages:
1 481
.
 
 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章