邮件发送过程:
1、你的信件通过smtp协议传送到你的邮件服务器。
2、然后邮件服务器判断是否有转信主机,如果有转信主机,则将信件发送到转信主机上,如果没有转信主机,则直接发送到目的邮件服务器上。
3、收件者通过pop-3协议,将信件从邮件服务器上拿下来。
名词介绍:
MUA(Mail User Agent):照字面上来讲就是邮件代理人,MUA是给使用者浏览邮件和书写邮件的程序。
MTA(Mail Transfer Agent):照字面上来讲就是邮件传送代理人,也叫邮件服务器。负责MUA请求,也负责将邮件从一个MTA传送到另外一个MTA。
MTA支持的几个传输协议:UUCP,SMTP,POP。
SMTP协议:负责将邮件从MUA上传到MTA上,以及MTA之间的邮件传递协议。
POP协议:使用者可以从MUA将MTA上的信件下载下来浏览
整体协议的流程:我们用 MUA 撰写邮件之后,是通过 SMTP 协议上传给 MTA 的;而阅读邮件则是通过 POP 从 MTA 那里下载回来。
搭建邮件服务器之SendMail
SendMail 的主配置文件
/etc/mail/sendmail.cf:核心配置文件
/etc/mail/sendmail.mc:模版文件,定义了定义了操作系统类型、文件位置、请求特征及邮件发送工具、用户列表等信息。通过m4程序将模版文件的参数导入核心配置文件sendmail.cf,降低配置文件的难度。
/etc/mail/local-host-name:本地主机和域名列表
/etc/mail/access:完成中继转发功能,允许访问的域名
搭建服务器流程
1、配置域名,添加MX邮件交换记录,并通过nslookup命令测试邮箱域名是否正确解析。
2、安装sendmail,安装完毕后查询正确安装了(rpm -qa | grep sendmail)
3、对配置文件和模版文件做备份(cp sendmail.cf sendmail.cf.bak /root/ && cp sendmail.mc /root/)
4、修改配置文件
4.1、启用sendmail的认证功能
修改sendmail.mc模版文件(/etc/mail/sendmail.mc)
将前面的dnl去掉,改为不注释
修改Addr=127.0.0.1改为0.0.0.0 ,或者将这行注释掉
修改成本地邮箱的域名
4.2、修改access数据库(/etc/mail/access)
设置接收和发送的网段
设置接收和发送的域名
4.3、修改接收邮件服务的配置文件(/etc/dovecot/dovecot.conf)
将protocols前面的#号去掉(这行关系到邮箱服务器是否能接收外网的邮件)
5、将模版文件的内容写入核心配置文件中,以及将access中的数据写入access.db中
利用m4程序(m4 sendmail.mc > sendmail.cf)
利用makemap命令进行数据库更新(makemap access.db < access)
使用sendmail发送邮件时,指定自己的域名发送邮件(即显示发件人是自己邮箱地址的域名)
1、首先修改自己主机名,主机名和sendmail发送邮件有关,
修改/etc/hosts 文件
修改/etc/sysconfig/network文件(永久修改主机名)
最后如果想要临时生效修改的主机名的话,还可以通过hostname gongjingyi.club。否则想要修改过的主机名生效的话就要重启服务器。
Sendmail发送中文邮件失败解决方法
1、首先查看是否存在中文语言包
Locale -a | grep zh
2、不存在的话安装中文语言包,存在的话,修改系统语言变量
临时修改语言变量,export.utf8
(需要永久修改语言变量的话,修改/etc/locale.conf文件,改成LANG=zh_CN.utf8)
然后查询是否修改成功,locale | grep LANG
3、测试是否能够发送中文邮件
测试成功!主机名和中文都显示正常
本文出自 “Linux系统运维” 博客,请务必保留此出处http://mbb97.blog.51cto.com/13129388/1955258