SMTP:simple mail tansfer protocol
本身能实现路由功能,比如从一个用户到另一个用户
ESMTP:Extended
POP3:Post Office Protocol
IMAP4:Internet Mail Access Protocol
SMTP(25/tcp)
邮件传输:MT
邮件投递:MD
邮件用户:MU
邮件用户代理:MUA mail user agent
邮件传输代理:MTA mail tansfer agent
邮件投递代理:MDA mail delivery agent
邮件取回代理:MRA mail retrieval Agent
MUA--->MTA :使用SMTP协议
SMTPD邮件传输分为两类:
LMTP:本地邮件传输协议
调用本地smtp客户端再到发送到邮件到对方的SMTPD
Open relay:开放中继
SASL:simple Authintication secure layer,简单认证安全层
LDAP:Lightweight Directory Access Protocol
虚拟用户:仅用户访问某服务的数字标识
MTA:邮件传输代理软件:
sendmail:配置文件语法(M4编写),结合SUID
qmail:发送速度相当快, 2个数量级于sendmail
postfix:模块化设计,不使用SUID,安全,跟sendmail兼容,效率高,比sendmail高差不多4倍
exim:配置语法简单,剑桥大学开源项目
exchange:有异步消息协作平台
SASL:SMTPD的用户认证功能实现
syrus-sasl V2版本
courier--authlib:一般用来做sasl的认证机制,功能更强大,和灵活
MDA:邮件投递的实现
procmail(sendmail中使用)
maildrop
MRA:pop3,ima协议的实现
cyrus-imap
dovecot:语法简单,功能强大
MUA:邮件客户端
outlook,foxmail,Thunderbird,Evolution,mutt(专业级文件界面)
WEBMAIL: web界面邮件实现
squirrelmail
openwebmail
Extmail(extman)
EMOS,Centos定制版本
smtps
pop3s
imaps
实验实现:
发邮件方: Postfix + SASL(Courier-authlib) + mysql
收邮件方:Dovecot + MySQL
WebMail: Extmail + extman + httpd
安装配置postfix:
# 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 # tar zxvf postfix-2.9.3.tar.gz # cd postfix-2.9.3 # make makefiles ‘CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ‘ ‘AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2 -lssl -lcrypto‘ # make # make install # 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/lib/sasl2 -lsasl2 -lssl -lcrypto‘