MUA:
邮件用户代理,用来给客户端收发邮件的工具,如雷鸟,windows下的foxmail。发:MUA通过SMTP(TCP25)
来邮件推给MTA。收:MUA通过pop3功议TCP(110)到MTA上拉邮件。
MTA:
邮件传送代理,MTA通过查看DNS的MX,也是通过SMTP把邮件推给对方。
MRA:
邮件检索代理,查看邮件有没有问题,就是防垃圾。先有收的过程再检索。
只要DNS能解析到主机,就能发送邮件。
SMTP是由送的MTA提控的。POP3也是由MTA提控。
@ IN MX 10 station3.example.com,如果没有定义这个记录,
缺省丢给服务器的A记录。
,
mail -s 'test' redhat1 这样走的是LMTP,本机发给本机的用户就是走这个协议。
To:user1@account.com 执行的人
Cc:manger@account.com 知道的人
Bcc:boss@account.com 暗送的人
用telnet来测试邮件服务器。它还可以来测试所有的协议。
Spamassassin 防垃圾工具。
邮件服务器也可以做虚拟主机。
sendmail 没有suid的功能,只监听在本地回环端,默认中继是关闭的,就是拒绝所有用户通过我向别人发邮件。
通过我向别人发邮件叫中继。
如果公司的出差,中继就不现实了,就用身份验证。
m4 sendmail.mc > sendmail.cf
dnl+空格 表示注释。
dnl DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')
邮件服务器对时间非常敏感,可以用touch来改变文件的时间戳。
vim /etc/sysconfig/network 中的hostname
和vim /etc/hosts 中的 名字要相同,不然下次启动就会很慢。
两进两出,全局的和用户。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-==-=-=-=-=-=-=-=
一、进来的配置:
1、dnl DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA') 监听全网
2、netstat -tulnp |grep sendmail
3、vim /etc/mail/local-host-names
station3.example.com
4、telnet 192.168.0.2 25 //在192.168.0.2上做。
mail from
rcpt to:redhat@station3.example.com
data
.
quit //成功
5、telnet 192.168.0.2 25
mail from
rcpt to:redhat@example.com
data
.
quit //失败 就是因为vim /etc/mail/local-host-names上没有写exampel.com的记录
stat=sent 表示邮件已经发送了。
stat=unknown name
dig -t mx mail.example.com
邮件队列的文件:cd /var/spool/mqueue
sendmail -q 强制打队列里的邮件发送出去。
vim /etc/mail/local-host-names 不要忘记了改别名。列出我计算机的主机的所有名字。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-==-=-=-=-=-=-==-=-==-=-=-=-=-=-=-=
一、出去的配置:
1、vim /etc/mail/submit.cf
2、伪装:vim /etc/mail/sendmail.mc
EXPOSED_USER(`root')dnl
FEATURE(masquerade_envelope)dnl
MASQUERADE_AS(`google.com')dnl 只要把想伪装的域在这个改了就行了。
FEATURE(masquerade_entire_domain)dnl
怎么样让它回来是实际发送的用户名呢?
3、telnet 192.168.0.3 25
mail from:
rcpt to:
data
.
quit
4、用户 这个用户收到的邮件的发送都将会是。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
二、进来的配置:
1、vim /etc/aliases 本地别名,只对于本地用户
伪造的名字 真实的名字
redhat: redhat1 redhat2 redhat3 redhat 将发送给redhat的邮件,抄送给redhat1 redhat2 redaht3
编辑完后要用:newaliases重新生成一个数据库。
伪装的名字可以是系统中不存在的。
list: redhat,redhat1,redhat3
如果在企业里有很多用户,如果要群发,还支持别名的嵌套。
编辑了/etc/aliases后一定要用newalises生成数据库才行。
2、vim /etc/mail/virtusertable 可以跨域伪装。
@staion2.example.com
@dom1.org
把发进来为dom1.org的邮件转向dom2.org时而用户名不变。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
二、出去本配置:会和全局冲突,冲突以全局的为准。
1、vim /etc/mail/sendmail.mc
FEATURE(genericstable)
FEATURE(`always_add_domain')
GENETRICS_DONMAIN_FILE(`/etc/mail/local-host-names')
2、vim /etc/mail/genericstable
可以对域进行伪装,也可以对用户名进行伪装。
3、怎么回来真正的用户呢?
在vim /etc/mail/virtusertable中做进来的伪装。
前面的必需在vim /etc/mail/local-host-names中有。
=====================================================
实验:
两个域。
==============================================
vim /etc/mail/access 中继
Connect:192.168.0 relay
connect:192.168.0.0/255.255.255.0 relay
From: REJECT 服务器之间的关系
Connect: 服务器和客户端的关系
To: 也是服务器之间的关系
阅读(674) | 评论(0) | 转发(0) |