邮件服务器:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

       SMTP :简单邮件传输协议 sample mail transmission protocol

              tcp  25端口

       POP3:邮局协议 Post Office Protocol

              tcp 110端口

       IMAP4 internet邮件访问协议

              tcp 143端口

       MIME:多用户多功能互联网邮件扩展

              二进制转换文本形式

              编码方式:base64

 

MUA:Mail User Agent 邮件用户代理

       基于web页面的mail   outlook oefoxmailthunderbirdevolution

       基于字符界面的mail    mutt

MTA:Mail Transfer Agent 邮件传输代理 即为SMTP Server

       软件: ExchangeLotus Note Domino

             (Sendmail-->Postfix, EximQmail)  -->轻量级

MDA:Mail Delivery Agent 邮件投递代理

       软件:procmailmaildrop

MAA:Mail Access Agent 邮件访问代理 该用户在服务器上没有账号 虚拟用户 取回自己的邮件

       软件:courrier-imapdovecot

MTA MDA 可以不在同一台服务器上

 

SMTP本身没有认证功能

SASL:Simple Authentication Secure Layer 简单认证安全层 协议 提供smtp的认证功能

      软件:sasl2 cryrus-sasl

垃圾邮件过滤:apache spam

 

       软件:

反病毒:clamav

邮件服务器本身没有与垃圾邮件过滤和反病毒软件兼容的功能,需要第三方软件的辅助:邮件呼叫器

邮件呼叫器:mimedefang Mailscanneramavisd-new

 

 

S/MIME 邮件加密

POP3S  邮件下载加密

用户的邮件目录:/var/mail--> /var/spool/mail

邮件查看完会放在用户的家目录的mbox(文件)

发邮件方式:本机发送邮件

       mail -v jing

       echo "how are you" | mail -s "helo" jing

       telnet ip 25 (telnet 192.168.0.73 25)

              HELO 邮件地址(ip或主机名) 建立会话

              MAIL FROM: jing@station73.example.com

              RCPT TO: king@station154.example.com

              DATA 写正文

              SubjectI am jing

              Fromjing@station73.example.com

              Toking@station154.example.com

              how are you

              . 结束

              QUIT 退出

       tail /var/log/maillog 查看日志信息

 

 

不是本机邮件在/etc/hosts 要能解析地址

日志文件 /var/log/maillog

 

mail服务器配置   

组件:sendmail sendmail-cf  m4

配置文件:/etc/mail/sendmail.cf sendmail.mc

邮件访问列表: access  /etc/mail/access

本机域名: /etc/mail/local-host-names

邮件别名: /etc/aliases  ---->转换:newaliases

procmail: sendmail的自带的本地投递代理

默认只向本机提供邮件服务

sendmail向外提供服务:

                     vim /etc/mail/sendmail.mc

                        DAEMON_OPTIONS 中将127.0.0.1修改为<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0.0.0.0

                     service sendmail restart

sendmail 默认不会给任何主机中继,可以在access中配置允许中继

              vim /etc/mail/access

                Connect:192.168.0  RELAY  允许192.168.0网段通过该主机中继

              service sendmail restart

sendmail负责定义的中继域:

              vim /etc/mail/loacl-host-names 添加

                 example.com  保证该域的MX记录指向到本机的ip

                 126.com

邮件别名:

              vim /etc/aliases

                terra:    jing  发给的terra的邮件都发给jingterra不会收到邮件

别名可以做群发:

                 moket可以不存在:   jing, king, kk

              newaliases 手动装换

              service sendmail restart

 

windows上发邮件:telnet outlook

               telnet 192.168.0.124 25

               helo

               mail from

               rept to

       outlook只能发邮件不能接受 要接受的安装dovecot

 

软件:dovecot---MAA

       让用户接受远程邮件

       提供协议: pop3  imap4  pops  imaps

       配置文件:/etc/dovecot.conf

       端口: 110

 

              配置:vim /etc/dovecot.conf

                     protocols = imap pop3 定义协议

                     service dovecot start

                     netstat -ntlp | grep 110

用户接受邮件:---MUA----OE telnet mutt outlook....

               测试:

                     telnet 192.168.0.124 110

                     USER terra

                     PASS 123456

                     LIST 查看邮件

                     RETR 2 查看第2封邮件

             

                   mutt -f pop://terra@station124.example.com

                       -f 协议

 

实现sendmail向发大邮件的地址伪装:发件人不管地址什么都统一进行规定 

              主机有两个域名可以使用该功能

             

              vim  /etc/mail/sendmail.mc

                MASSQUERADE_AS(`example.com')dnl 开启 统一定义为example.com

                FEATURE(masquerade_envelope)dnl开启 在信封上做地址伪装

                FEATURE(allmasquerade)dnl 添加 所有的都做地址伪装 或者是开启下面功能

                FEATURE(masquerade_entiredomain)dnl

              service sendmail restart

              测试 发件人的地址后缀都是example.com

 

用户向不在本域的主机发邮件即跨邮件服务器发邮件:借助DNS实现--做转发 正反向解析

              192.168.0.0.182 dns  a.com

              192.168.0.181 做邮件服务器

              192.168.1.183 为另外的域b.com

配置邮件服务器及DNS

       192.168.0.182配置:   yum install bind caching-nameserver

                            vim /etc/named.conf

                            添加域

                            zone "a.com" IN {

                            type master;

                            file "a.com.zone";

                            };

                            zone "0.168.192.in-addr,arpa" {

                            type master;

                            file "192.168.0.zone";

                            };

                            zone "b.com" { 转发

                            type flowerd;

                            forwarders { 192.168.1.183; };

                            };

                            vim /var/named/a.com.zone

                                   IN   NS  ns

                                   IN   MX  mail

                            ns      IN   A    192.168.0.182

                            mail    IN   A     192.168.0.182

                            vim /var/named/192.168.0.zone

                                   IN   NS   ns.a.com

                            182     IN   PTR   ns.a.com.

                            182     IN   PTR   mail.a.com

                            chown :named /etc/named.conf  /var/named/a.com.zone  192.168.0.zone

                            service named configtest

                            service named start

                            chkconfig named on

                            hostname mail.a.com

                            vim /etc/hosts

                            192.168.0.182   mail.a.com   mail

                            vim /etc/resolv.conf

                               nameserver   192.168.0.182

                     测试:

                            dig -t  MX a.com 

                            dig  -x 192.168.0.182

                     配置sendmail

                            vim /etc/mail/sendmail.cf

                            127.0.0.1改为0.0.0.0

                            vim /etc/mail/localhost

                               mail.a.com

                               a.com

                            vim /etc/mail/access

                             Connect:192.168.0       RELAY

                            service sendmail restart

       配置192.168.0.181

                            vim /etc/resolv.conf

                              namesever     192.168.0.182

                            telnet mail.a.com  25    发邮件进行测试

                           

时间戳出问题解决方法:配置文件时间戳出问题sendmail.cf 要比sendmail.mc的要靠后

              1、重启主机

              2、修改时间戳: stat sendmail.mc

                            stat sendmail.cf

                            稍微修改一下sendmail.mc vim sendmail.mc

                            stat sendmail.mc