1.掌握重要的概念
MUA(mail user agent)邮件用户代理人
主要功能:收取邮件主机的电子邮件,以及提供用户浏览及编辑邮件,就是我们发邮件必须通过邮件代理人把邮件发送到邮件服务器上去。
MTA(mail transfer agent),邮件发送代理人,作用就是将邮件寄出去,MTA程序有sendmail ,postfix等 主要功能如下:
接收邮件 就是将来自客户端或者其他MTA的邮件收下来,这时用的协议是SMTP(简单的邮件传输协议simple mail transfer protocol)
中继转发(relay) 接收到的邮件分析发现不是自己的注册用户,那么就通过MDA把邮件转发出去。
MDA(mail delivery agent)邮件传送代理人 它是MTA下面的一个小程序,最主要的功能:分析由MTA所收到的邮件表头和内容等数据来决定这封邮件的去向,除了这个功能还有过滤垃圾邮件,自动回复的功能。
2.mailbox电子邮件邮箱 简单的说,就是某个账号专用的邮件收取文件,我们的linux系统默认的邮箱都是放在/var/spool/mail/用户账号 中。
3.MRA(mail Retrieval agent)邮件接收代理,作用是通过POP3,IMAP等通信协议并非MTA的smtp来接收邮件。
MUA通过pop3协议连接到MRA的port110,并且输入账号密码来取得正确的认证和授权,MRA确认该账号密码没有问题后,会前往该用户的mailbox取得用户的邮件并发送到用户的MUA软件上,当所有的邮件传送完毕后,用户的mailbox内的数据将会被删除,搭建邮件服务器的软件有sendmail postfix,exchange,
4.客户端把邮件发送到邮件服务器上用的是smtp协议。
5.提供pop3/imap协议的软件叫dovecot openrelay收到邮件就全部转发
6.echo aaa | mail -s 'hellotom' tom tom后面省略@。。。 相当于
tom@myhostname 不是myhostname本身是该设置项的值。
7.systemctl restart postfix 重启邮件服务postfix
8.inet_interfaces = all 意思是把25端口侦听到所有接口上面,默认是回环接口(localhost),记住下面不能再有这项的设置,不然会把这项覆盖掉。
9.echo aaaa | mail -s 'hellotom' [email protected] 如果设置项
mydestination的值不包含example.com的话,给tom发邮件会发不出去
10.mydestination = $myhostname,localhost.$mydomain,localhost 逗号隔开,邮件服务器就是通过这一项的值来区分收到的邮件是不是自己的用户,这一项对应的是邮箱账号格式中的@后面的部分。
11.tailf /var/log/maillog 查看邮件日志信息,日志信息中如果有status=sent,表示已经发送成功。
12.要用到smtp时,要记得防火墙开放一下,如下:
firewall-cmd --add-service=smtp 并设置开机自启
13.查找配置参数,postconf | grep 'mynetworks ='
mynetworks = 123.0.0.0/8 192.168.26.0/24 ........ 作用是指定哪些IP我可以进行转发,而且毫无条件的转发,即使发件人用户不在也可以。
14.MTA软件postfix默认在linux上安装的
15.主配置文件 /etc/postfix/main.cf 格式如下:
key1 = value1,value2
key2 = value2
key3 = $key1,value3
逗号隔开,可引用变量 ,顶头不能有空格,不然会当成上一行的延续。
16.postconf myhostname 查看myhostname的值,如果没有设置myhostname的值,则会使用主机名作为值
17.系统安装好以后,不要使用默认的localhost.localdomain作为主机名,要自定义一个主机名
18.mydomain 该项如果没有被设置,则取myhostname 第一个点之后的部分,修改参数postconf -e myhostname = ...... 通过这个命令会直接写入配置文件,mydomain和myhostname是被其他参数引用的。
19.myorigin 默认值是$myhostname
20.邮箱格式:用户@域名 用户名@xxx.yy.com 查看tom有没有邮件
mail -u tom 如果不指明tom就是查看当前用户邮件
21.在邮件服务器之上设置一个邮件网关,不让邮件服务器直接接触互联网会更安全。
22.设置项relayhost 意思是转发主机,当邮件服务器收到一个不是自己用户邮件是,它会首先去找relayhost的值,如果该项没有被注销那就生效,它会把邮件转发到relayhost上。
23.利用别名方式群发(举例来说),
第一步:创建别名 /etc/aliases 添加一下内容:
all: tom,lduan....... 或者all: /etc/userlist(把用户邮箱的账号一行一行的填进去) 然后执行newaliases 来生效
第二步:测试echo hellall | mail -s 'helloall' all 把用户账号换成all,这样机会给tom ,lduan都发邮件。
24.修改邮箱mailbox的位置 home_mailbox = mailbox 比如是tom用户,那tom用户家目录就会多一个mailbox文件。home_mailbox = maildir/它会在家目录创建一个文件夹maildir来存放邮件。
25.如何从远端接收邮件,第一步:安装MRA软件 yum -y install dovecot
主配置文件 /etc/dovecot/dovecot.conf 需要修改一些设置才行,这里不在赘述。第二步:在客户端安装foxmail 就可以编辑发送和接收邮件了。