Postfix郵件服務器搭建及配置

1、郵件服務器(Mail Server)的傳輸協議

一、簡單郵件傳輸協議(SMTP):Simple Mail Transger Protocolhtml

二、擴展的簡單郵件傳輸協議(ESMTP):Extended Simple Mail Transger Protocolmysql

三、郵局協議(POP3):Post Office Protocollinux

四、互聯網郵件訪問協議(IMAP4):Internet Mail Access Protocolweb

五、簡單認證安全層(SASL):Simple Authintication Secure Layersql

六、郵件傳輸代理(MTA):SMTP服務器數據庫

   sendmail(m4語言),qmail,postfix(模塊化設計,與sendmail兼容,安全,效率高)vim

七、郵件投遞代理(MDA):procmail,maildrop安全

八、郵件檢索代理(MRA):pop3,imap4的實現服務器

九、郵件用戶代理(MUA):網絡

   Outlook Express,Outlook

   Foxmail

   Thunderbird

   Evolution

   mutt(文本界面)

十、Webmail:Openwebmail、squirrelmail(小松鼠)、Extmail(Extman)

2、安裝Postfix+SASL(courier-authlib)+MySQL

1、安裝MySQL

若是沒有mysql用戶則添加:

# useradd -r mysql -s /sbin/nologin

# tar zxvf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

# ln -sv /usr/local/mysql-5.6.30-linux-glibc2.5-x86_64 /usr/local/mysql

# chown mysql.mysql -R mysql-5.6.30-linux-glibc2.5-x86_64

建立MySQL的數據文件目錄

# mkdir -pv /data/mysql

# chown -R mysql.mysql /data/mysql

初始化數據庫

# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

複製MySQL的服務啓動腳本到/etc/rc.d/init.d/下

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

將mysqld添加到服務聊表並設置開機自啓動

# chkconfig --add mysqld

# chkconfig mysqld on

MySQL的配置文件:/etc/my.cnf或/etc/mysql/my.cnf-->$MYSQL_Base/my.cnf -->

--defaults-extra-file=/path/to/some_my.cnf -->.my.cnf

若是找到的不一樣,則合併,若是不一樣,則以最後一個爲準

本人把全部配置文件都刪了只留了下面這個文件

# vim /etc/my.cnf

加入以下內容:

[client]

port = 3306

socket = /tmp/mysql.sock

[mysqld]

server_id = 1

log_bin = /data/mysql/mysql_binlog

lower_case_table_names=1

binlog-ignore-db=mysql,test

port = 3306

pid-file=/usr/local/mysql/mysql.pid

socket = /tmp/mysql.sock

skip-external-locking

key_buffer_size = 256M

max_allowed_packet = 1M

table_open_cache = 256

sort_buffer_size = 1M

read_rnd_buffer_size = 4M

thread_cache_size = 8

query_cache_size = 16M

thread_concurrency = 2

datadir = /data/mysql

添加MySQL的到環境變量:

# vim /etc/profile.d/mysql.sh加入以下內容:

export PATH=/usr/local/mysql/bin:$PATH

# source /etc/profile.d/mysql.sh

刪除匿名用戶:

mysql> drop user ''@'localhost';

mysql> drop user ''@'master.fansik.com';

給root用戶添加密碼:

mysql> update user set password=password('fanjinbao') where user='root';

mysql> flush privileges;

若是增長密碼後還想直接用mysql直接登陸那就:

# vim ~/.my.cnf加入:

[mysql]

user = root

password = fanjinbao

socket = /tmp/mysql.sock

導出頭文件:

# ln -sv /usr/local/mysql/include/ /usr/include/mysql

導出庫文件:

# vim /etc/ld.so.conf.d/mysql.conf加入:/usr/local/mysql/lib

# ldconfig -v

查看是否添加成功:

# ldconfig -p | grep mysql

2、安裝postfix

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

建立postfix用戶和postdrop用戶

# groupadd -g 2525 postfix

# useradd -g postfix -u 2525 -s /sbin/nologin -M postfix

# groupadd -g 2526 postdrop

# useradd -g postdrop -u 2526 -s /sbin/nologin -M postdrop

安裝postfix

# tar xf postfix-2.10.10.tar.gz

# cd postfix-2.10.10

若是是最小化安裝的CentOS系統,須要安裝:

# yum -y install libaio* cyrus-sasl-devel db*-devel gcc openssl-devel

# make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ' 'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm -L/usr/lib64/sasl2 -lsasl2 -lssl -lcrypto'

# make

# make install

# postfix start

postfix的配置文件:

master:/etc/postfix/master.cf

mail:/etc/postfix/main.cf

參數 = 值:參數必須寫在行的絕對行首,以空白開頭的行被認爲是上一行的延續

postfix啓動腳本及開機自啓動設置:http://www.cnblogs.com/fansik/p/5683775.html

postconf:配置postfix

   -d:顯示默認配置

   -n:修改了的配置

   -m:顯示支持的查找表類型

   -A:顯示支持的SASL客戶端插件類型

smtp狀態碼:

 1xx:純信息

   2xx:正確

   3xx:上一步操做還沒有完成,須要繼續補充

   4xx:暫時性錯誤

   5xx:永久性錯誤

smtp協議命令:

   helo(smtp協議)

   ehlo(esmtp協議)

   mail from:

   rcpt to:

alias:郵件別名

   abc@fansik.com postmaster@fansik.com

   /etc/aliases-->hash-->/etc/aliases.db

   # newaliases

postfix默認把本機的IP地址所在的網段識別爲本地網絡,而且爲之中繼郵件

至此,若是你在虛擬中作的測試是沒法向外網發送郵件的

相關文章
相關標籤/搜索