Linux学习笔记----Mail服务

邮件服务器的作用 : 为一个域收信 . 前提要有 DNS 服务要有 MX 记录 .
、基本概念 :
1 、发信服务器 :
       用来替用户把邮件发送到目的地的服务器 , 一般运行着 Smtp 服务器软件 .( 相关于邮局 )
收信服务器 :
       等待用户来收信的服务器 , 一般运行着 Pop/imap 服务器软件 .( 相关于家门口的邮箱 )
2 MTA(Mail Transfer Agent)
       邮件传输代理 , 发送邮件服务器软件的总称 , :Sendmail ,Qmail ,Postfix,exim
注意 : 一个服务器上只能运行一种 MTA.
 MUA(Mail User Agent)
       邮件用户代理 . 帮助用户收信的客户端软件的总称 . Outlook Foxmail.
注意 : 一个客户端可以装多种 MUA.
3 Smtp 服务器的工作原理 :
              收到邮件 ------ à [ 是自己的邮件吗 ?]--------- à ( ) 放进本地信箱
                                                 |
                                                 |
                                          ( 不是 ) 发送到目标域 .
Sendmail 服务器的安装
       1 安装 ( 像这种安全要求较高的服务最好用最新的稳定版 )
              A 、下载网站 :[url]Http://www.sendmail.org[/url]
              B 、准备编译环境 :
                     删除 Sendmail 以及 Postfix 等其它服务软件 .
                     #rpm �Ce --nodeps sendmail
                     #rpm �Ce --odeps postfix
                   
#rpm �Cqa | grep sasl             ## 查找相关的软件包
                     需要安装 :cyrus-sasl, cyrus-sasl-devel, cyrus-sasl-plain
                    
                     需要 DNS 环境 :  ( 现在因为是做实验 , 所以自己做服务器 , 而实际中不一定要自己做 )
                       在区域文件中加入 : (DNS 配置见第二章笔记 )
                                    
              @       IN      SOA     sina.com. root.sina.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
                        IN      NS      sina.com.
                        IN      MX 5    sina.com.  ## 其中的5是优先级 , 在多台的情况下 .
sina.com.       IN      A       192.168.0.254
mail           IN      A       192.168.0.254
www          IN      A       192.168.0.254
                     配置 DNS , 查看下 :
                            #host  �Ct  MX  abc.com
                            #host  mail.abc.com
             
配置 Sendmail
1 配置文件
       A /var/spool/mail( 或者 /var/mail)  ## 收件箱的配置文件
       B /var/spool/mqueue                       ## 邮件发不出去时存放的位置,壶 30-60 分钟再发
       C /etc/mail                                     ## 主配置文件的文件夹
       D /etc/mail/access                         ## 访问控件文件
       E /etc/aliases                                ## 邮箱别名有配置文件
       F /etc/mail/local-host-name             ##Sendmail 接收邮件主机名列表
       G /stc/mail/sendmail.cf                   ##Sendmail 的主配置文件
       H /stc/mail/virtuSertable                  ## 虚拟用户和域配置文件
2 、在 DNS 配置好的前提下配置
       #cd /etc/mail
       #vi sendmail.mc
修改第 85 行: DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl  #将 127.0.0.1 改为服务器的IP : 如1 92.168.0.254
修改第 123 行: LOCAL_DOMAIN(`Localhost.com')dnl
              Loclhost.com 改为邮件服务器的域名
                         LOCAL_DOMAIN(`abc.com')dnl
生成 Sendmail.cf
       #m4 sendmail.mc > sendmail.cf
或者 #make �CC /etc/mail        ( 注意: C 是大写 )
加入自己的主机名 (abc.com)
#vi /etc/mail/local-host-names
访问控制:
#vi /etc/mail/access
Abc.com        REALY
生成数据库: #makemap hash access/db < access
重启 Sendmail:  #killall -9 sendmail
                            #service sendmail start
                            #service sendmail restart 两次
3 、发信的过程:
       #telnet mail.sina.com 25
       >helo www
       >mail from : [email protected]
       >rcpt to : [email protected]
       >data
       > 内容
       >.   ( 以点结束 )
       #tail /var/mail/root         查信
4 、区分真实用户和虚拟用户。
       # vi /etc/aliases
1)      别名:(前为虚拟用户,后为真实用户,一对一)
Renshibu : Jim
Caiwubu : Tom
       2) 邮件列表 .( 前为虚拟用户,后为很多真实用户,一对多。可以实现群发 )
              Benet      :  a,b,c,d
2)      转发:(两边都是真实的用户,即发给左边用户的都转给右边的。)
Abc  :  Doc
5 、虚拟用户和主机。(用于一个服务器有多个域的情况)
       1 DNS 添加一个域,如: doc.com
       2 )在 /etc/mail/local-host-names 添加 doc.com
       3)  在 /etc/mail/access  中添加 doc.com
       4) makemap hash : access.db < access
       5) 重启服务 .
6 、设置 pop3/IMAP  (作用:用于客户端存取远程服务器中信件的功能)
       #vi /etc/xinetd.d/ipop3    将中间的 disable=yes  yes 改为 no
       #vi /etc/xinetd.d/imap    改的也是一样的。。。
       service xinetd restart         重启服务。。
7、SMTP认证 ( 用到 SMTP 认证就用不着 Access 了。 )
       #vi /etc/sendmail.mc
       改:1)去掉43、44行的注释,一定要顶格,不能有空格。
       TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
2)85行加上注释 dnl ,格式和前面的一样。 加的 dnl 后有空格。。
Dnl  DAEMON_OPTIONS(`Port=smtp,Addr=192.168.0.254, Name=MTA')dnl
3 92 行: DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
submission 改成 25
4) 运行: #make �CC /etc/mail
5) 重启 Sendmail 服务 .
6) 验证: Outlook.
设置:工具――》帐户――》属性――》服务器。 选择我的服务器需要认证。进行设置。
8 Postfix
       准备工作:先杀掉 Sendmail 或其它邮件服务。。
       1 vi /etc/postfix/main.cf
       A     改: 69   去掉 #    myhostnamed=abc.com
       B     76              去掉 # mydomain = abc.com
       C     88              去掉 #   myorigin = $mydomain
       D     97              加上 #
              98              去掉 #   inet_interfaces  
       E  157              去掉#号   mynetsorks_style=subnet  我的网络类型
       F     172             去掉#号 mynetworks =192.168.0.0/24  控制访问的网段。。
       2 、开启或者重启服务。。
              详细的 Postfix 看转载的文章

你可能感兴趣的:(linux,职场,学习笔记,休闲)