邮件传输协议:SMTP(25/TCP) ESMTP(25/TCP) POP3(110/TCP) IMAP4(143/TCP)

 SMTPS(465/TCP) POP3(995/TCP) IMAPS(993/TCP)
 
SMTP:经过三次握手后建立连接的四个步骤:
      helo   mail from(邮件来源) rcpt to(发给谁)    data(此时可以写邮件正文)  .(表示邮件结束)
SMTP弊端:
Open relay(开放式中继):即是无条件接受邮件,如果收件人不是自己并帮忙转发,这就导致了大量的垃圾邮件的产生。
 
SMTP帮忙收到邮件后会放到邮件缓存位置即/var/spool/mail(或者/var/mail,这个文件时连接到/var/spool/mail这个文件),这个文件是SMTP这个进程和邮件收件人均可以访问的文件
 
邮件服务是C/S架构
 
各种邮件服务代理,以及提供这种代理服务的软件:
MUA (mail user agent): foxmail outlook   outlook express courier-Authlib
MTA (mail transfer agent):postfix sendmail Exim qmail courier  lotus notes domino
MDA (mail deliver agent):maildrop procmail  courier drop
MRA (mail retrival agent):dovecot courier-imap cyrus-imap
MSA :邮件提交代理,将邮件发送给网关由网关发送给邮件服务器
一个邮件服务器最基本的:MTA MDA MRA ,因为现在的MTA都整合了MUA。所以即有他们三个基本框架就有了。
SASL:simple authentication secure layer
SASL是个认证框架,可以让smtp具有认证用户的能力。有两个版本V1和v2,目前用的是v2,可以提供三种认证方式:
1、系统用户
2、PAM(不建议使用)
3、/etc/password  /etc/shadow
web mail 用户只需要一个浏览器即可!用户通过远程连到邮件服务器上。
web mail: 它整合了邮件服务所需要的一些软件,给postfix sendmail 提供界面。
OpenWebmail
SqWebmail
Extmail-------提供发行版EMOS
 
邮件地址:[email protected] Name
SmtP实现机制(发送邮件。MTA要实现这个功能,MTA即是DNS中MX对应的主机):
1、smtp查询DNS服务器MX记录找到邮件服务器
        2、向邮件服务器上的smptd发出helo请求
3、找MDA将邮件投递到/var/spool/mall
4、提供一个脚本通知收件人取走邮件
POP3实现机制(接受邮件。MRA要实现的功能):
客户通过远程登录提供账号、密码,POP3会得知某封邮件发给谁,。
Courier-Authlib是MUA支持将用户帐号存放于ldap服务或MySQL数据库中即虚拟用户,这样更安全
 
安装上postfix以后:
/etc/postfix/master.cf,它用来定义要启用哪些模块,它里面的选项具体通过/etc/postfix/main.cf来定义
postconf
-d 显示默认选项
-n 显示新修改的新配置
-e parameter = value  表示某个选项=某个值,直接可以修改配置文件/etc/postfix/main.cf
-a 显示支持的认证方式
启动服务 postfix start 即可。
我们通常启动服务是通过service servicename start ,所以这里我们也可以同时提供/etc/rc.d/init.d/postfix
chmod +x /etc/rc.d/init.d/postfix
chkconfig --add postfix
验证postfix :
1、新建用户[[email protected] postfix-2.9.4]# useradd postfix1
2、发邮件: 第一种方式 [[email protected] postfix-2.9.4]# echo "hello" | mail -s "mailcom" postfix1
    第二种方式 [[email protected] postfix-2.9.4]# telnet www.magedu.com 25
helo www.magedu.com
mail from:[email protected]
data
.
quit
3、切换用户查看邮件;mail 然后输入 1
 
发送邮件:

邮件服务器

查收邮件:

邮件服务器

查看邮件日志/var/log/maillog,查看邮件的发送的过程。