MTA:邮件传输代理
smtp服务器,如sendmail:单体结构,会用到suid,有安全隐患。配置文件语法(m4)
qmail:效率超强
postfix:模块化设计,安全,跟sendmail兼容性好。
exim
exchange:windows
sasl:
cyrus-sasl
courier-authlib
MDA:邮件投递代理
procmail
maildrop
MRA:邮件检索代理(pop3,imap4)
dovecot
cyrus-imap
MUA:thunderbird:linux
outlook
foxmail
mutt(文本)
webmail:
openwebmail
squirrelmail:redhat
extmail
postfix+sasl|courier-authlib+mysql
dovecot+mysql
extmail(extman)+httpd
./configure报错
yum install *devel-
cp /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64
main.cf
参数 = 值
参数必须行首,顶格写。以空白字符开头的行,被认为是上一行的延续。
postconf:postfix的配置工具
-d:默认配置
-n:修改了的配置
-m:支持的查找表类型,(postfix去哪查找用户名密码的)
-A:支持sasl的客户端插件类型
-e parameter=value:更改某参数,并保存到main.cf中。
smtp---->smtpd:
1.hello
2.mail from 发件人
3.rcpt to 收件人
4.data
5 . 邮件发送结束
smtp状态码
1xx:说明信息
2xx:正确类信息
3xx:上一步操作尚未完成
4xx:暂时性错误
5xx:永久性错误
邮件别名
[email protected] [email protected]:发送给a的转发给aa
/etc/aliases--->hash--->/etc/aliasesdb:使用命令newaliases
smtp协议原语
helo
ehlo
mail from
进行基本配置,测试启动postfix
myhostname=mail.a.org
myorigion=a.org
mydomain=a.org
mydestination=$myhostname,localhost.$mydomain,localhost,mydomain
mynetworks=192.168.1.0/24,127.0.0.0/8
chown -R postfix:postfix /var/lib/postfix
chown root:root /var/spool/postfix
chown -R postfix /var/spool/postfix/*
chown -R postfix:postdrop /var/spool/postfix/mail
/public
chown -R root /var/spool/postfix/pid
myorigion:用来指明发件人所在域名,即做发件地址伪装。
mydestination:用来指明postfix接收邮件时,收件人所在域名。即我的postfix要接受哪个域名的邮件
myhostname:用来指定运行postfix邮件系统的主机的主机名,默认值为本地机器名。
mydomain:用来指定我的域名
mynetworks:用来指定我所在网络的网络地址,postfix用其来区分是本地还是远程用户
inet_interface:用来指定postfix监听的网络接口
注意:
参数和注释不能处于同一行
参数值不可以加引号
修改参数值后执行postfix reload,令其生效。如更改inet_interface,执行postfix restart
如果一个参数的值有多个,可以将他们放在不同的行中,只需要在其后的每一行前加1空格字符
postfix会把第一个字符为空格或tab的文本行视为上一行的延续。
为postfix开启用户别名支持
1、alias_maps=hash:/etc/aliases
2、在/etc/aliases文件中定义新的别名项。格式为冒号隔开的两个字段,前一个为初始目标邮件地址, 后一个为实际发往的邮件地址:[email protected]:[email protected]
3、将/etc/aliases转为hash格式:postalias /etc/aliaes
4、postfix重新reload,测试。
dovecot
支持pop3(110)和imap4(143)
两种邮箱格式
1、mbox:一个文件存储所有邮件
2、maildir:一个文件存储一封邮件,所有邮件存储在一个目录中。
/etc/dovecot.conf
验证:
telnet x.x.x.x 110
USER xxx
PASS xxx
LIST
RETR
编译安装dovecot
1、/etc/ssl/certs/dovecot.pem
/etc/ssl/private/dovecot.pem
2、./configure --prefix=/usr/local/dovecot --with-mysql --with-ssl=openssl
--with-ssldir=/etc/ssl
3、创建2个用户和组:dovecot dovenull
4、cp example/conf /usr/local/dovecot/etc
5、修改10-mail.conf
mail_privileged_group = mail */var/spool/mail文件的数组一致
mail_location = /var/spool/mail
rpm包安装
/etc/dovecot/conf.d/10-mail.conf *mail_location = ~/:INBOX=/var/spool/mail/%u
/etc/dovecot/dovecot.conf *protocol = pop3 imap