Postfix邮件服务

来源:互联网 发布:软件项目招标网 编辑:程序博客网 时间:2024/06/10 08:04

postconf  -m
#查看当前系统支持哪些数据库
postconf  default_database_type
#查看当前的数据库类型



所有邮件的客户端称之为:MUA(邮件用户代理)
俩台主机之间要是想通信,必须使用某种协议, 发邮件的过程的协议叫:SMTP(简单邮件传输协议)
当邮件服务器收到邮件的时候,
     1、判断是不是自身的用户,如果是投递到用户邮箱
          邮件服务器将收到的邮件投递要用户的邮箱这个过程叫投递。投递时,使用的软件叫做:MDA(邮件投递代理)
     1-1、当用户使用客户端读取邮件时,实际就是将邮件下载到本地,收邮件的协议叫做:MRA(邮件接收代理),接收邮件的时候也必须使用协议,常见的协议有:POP3、IMAP。
     1-2、比如:发到外面的邮件,如:126发送到QQ邮箱,这使用的协议是 :SMTP协议。
     1-3、中继。relay。也就是126的用户通过126服务器发送到QQ邮箱这么一个过程。 
     2、如果不是自身用户,考虑将邮件转发出去


需要搭建向126这样的服务需要的软件是:MTA(邮件传输代理);也就是使用一款软件,将自己的电脑配置成服务器,这个软件我们称作:MTA  (常见的MTA有:sendmail、postfix、windows下面的:extent等。)   


postfix配置问价目录:
特别要注意的是:修改配置文件的时候一定要定格写,否则系统会认为是上一行没写完的。
     /etc/postfix/  ---其中主要关心的是   main.cf、master.cf(这个一般不配置,主要作用是:postfix中各个组件如何协调工作)
     主要配置的就是:main.cf  

修改配置文件,使可以监听所有主机来访问25端口:


至此:postfix就可以对外提供服务了。

设置主机名:---myhostname

1、默认postfix调用了 gethostname()  这么个函数;
     可以使用   postconf  myhostname  命令查看调用的主机名。



2、修改postfix调用的主机名



3、设置域名:---mydomain

3-1、查询postfix 调用本机的域名的值:
     这个值会默认取:myhostname第一个点后面的部分

myhostname还有mydomain 这些设置没有任何作用,只是设置了被引用的。



5、补齐主机名---myorigin(myhostname第一个点后面的部分

5-1、查询myorigin调用的值




5-2、向用户发送一封邮件  q 退出  dl  删除邮件
     echo "aaaa" | mail -s "test"  laow   



6、postfix支持的网络协议---inet_porotocols



7、判断是不是本地用户。
     这个重要。$mydomain(获取的是主机名第一个点后面的值)

8、设置哪些主机可以访问本机的电子邮件服务器---mynetworks_style
     也就是那些客户端可以访问,那些客户端不可以访问,
     可以设置做转发
     1、如果是class:转发同类别的所有网段(如:c类地址)
     2、subnet
     3、本机使用  host

8-1、如果mynetworks设置了会覆盖  8  设置的值

没有任何限制的,转发任何邮件称作:open  relay

8-1、限制哪些主机发送过来的邮件才做转发

9、做转发的时候给哪个域做转发---relay_domains

10、收到邮件的时候转发给谁,需要用到邮件网关---relayhost
     有到邮件网关:邮件服务器并不直接给外网直接通信,收邮件和发邮件的时候需要先根邮件网关进行通信通。在邮件网关上可以做一些策略,如:过滤一些垃圾文件等。就会让电子邮件服务器的垃圾文件少很多。
     所以当这些邮件服务器中的某一台收到邮件的时候,需要转发的时候,relayhost 就是指定这台服务器转发给谁。

11、别名配置;---alias_maps



11-1、hash:意思是将后面的配置文件转换成数据库文件。hash格式
     需要命令:postalias   hash:/etc/aliases  
#将文件转到数据库数据。也可以用  newaliases (这个newaliases为了兼容以前的sendmail的)

11-2、别名的作用--当给一个别名发送邮件的时候,后面设置的用户都是可以收到的。
     利用别名可以做到邮件的群发:比如:all:用户1, 用户2 .....   当给all发送邮件的时候用户n就都会收到邮件



12、用户设置当收到邮件的时候,同时发送给指定用户。


13、postfix存放邮件的队列;
     /var/spool/postfix/  
    #不同的队列有不同的作用,如果一封邮件没有发送成功,postfix会放到另一个队列中等待重发。
#收到的邮件会先放到  incoming 中。
#准备发的邮件都是放在  active 中的

13-1、查看队列中的内容:
     postqueue  -p 

###这里是空的,如果有的话,每一个邮件都会有一个ID、
###如果删除队列中全部的邮件
     postsuper  -d   ALL
###如果要保留这封邮件
     postsuper   -h   邮件ID   这样这封邮件就会到队列中再等待重发
###查看队列中邮件的内容
     postcat   -q   邮件ID



postfix中收邮件:用到的协议:POP3  或  IMAP
1、需要先安装  
     yum  -y  install  dovecot
##只有安装了这个软件包才会对外提供收邮件的服务。
     service  dovecot restart 
#启动服务
     netstat  -ntulp  |  grep   dovecot  
##查看到, 其中:
     1、110是POP3的端口
     2、143是IMAP的端口
     3、993是IMPAS端口
     4、995是POP3S端口

dovecot的配置文件:



启用对应的协议:主配置文件中   /etc/dovecot/dovecot.conf



修改conf.d中的配置文件
     1、修改10-auth.conf文件
          

     2、修改10-mail.conf


     3、查询对应开启的接口
     netstat   -antulp  |  grep   dovecot


启用smtp的验证功能。--- 这种方式适用于,IP地址不固定的。比如是拨号上网的,没办法确定主机的IP。这时候就需要通过用户名密码做验证。
     此时如果再使用smtp,就必须输入用户名密码验证才可以。

需要注意的是:如果开启了smtp验证,必须要启用的服务。
     否则会一直验证不成功


启用postfix的邮件过滤  --- 这些都是postfix自身的功能。
     /etc/postfix/main.cf

###此时的body_checks是需要手动创建的,直接copyheader_checks文件即可。

添加过滤标题的条件

添加过滤内容的条件



拓展---postgrey:第一封邮件都会拒绝

###收邮件的时候做限制。








原创粉丝点击