邮件服务器:
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
,
oe
,
foxmail
,
thunderbird
,
evolution
基于字符界面的
mail mutt
MTA:Mail Transfer Agent
邮件传输代理
即为
SMTP Server
软件:
Exchange
,
Lotus Note Domino
,
(Sendmail-->Postfix, Exim
,
Qmail) -->
轻量级
MDA:Mail Delivery Agent
邮件投递代理
软件:
procmail
,
maildrop
MAA:Mail Access Agent
邮件访问代理
该用户在服务器上没有账号
虚拟用户
取回自己的邮件
软件:
courrier-imap
,
dovecot
MTA
和
MDA
可以不在同一台服务器上
SMTP
本身没有认证功能
SASL:Simple Authentication Secure Layer
简单认证安全层
协议
提供
smtp
的认证功能
软件:
sasl2
,
cryrus-sasl
,
垃圾邮件过滤:
apache spam
软件:
反病毒:
clamav
邮件服务器本身没有与垃圾邮件过滤和反病毒软件兼容的功能,需要第三方软件的辅助:邮件呼叫器
邮件呼叫器:
mimedefang
,
Mailscanner
,
amavisd-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
或主机名
)
建立会话
DATA
写正文
Subject
:
I am jing
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
修改为
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
的邮件都发给
jing
,
terra
不会收到邮件
别名可以做群发
:
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
封邮件
-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