码迷,mamicode.com
首页 > 其他好文 > 详细

Postfix服务

时间:2018-07-11 10:34:42      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:center   dovecot   ssl   其他   发送   inter   目标   监听   家目录   

一、Postfix邮件服务器

postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。它是由任职于IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的。最早在1990年代晚期出现,是一个开放源代码的软件。

特点

  1. postfix是免费的
    postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。
  2. 更快
    postfix在性能上大约比sendmail快三倍。一部运行postfix的台式PC每天可以收发上百万封邮件。
  3. 兼容性好
    postfix是sendmail兼容的,从而使sendmail用户可以很方便地迁移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。
  4. 更健壮
    postfix被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix会自动减少运行进程的数目。当处理的邮件数目增长时,postfix运行的进程不会跟着增加。
  5. 更灵活
    postfix是由超过一打的小程序组成的,每个程序完成特定的功能。你可以通过配置文件设置每个程序的运行参数。
  6. 安全性
    postfix具有多层防御结构,可以有效地抵御恶意***者。如大多数的postfix程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。

邮件:具有法律效应、方便、安全、保持时间长

邮件组成:发件人(用户名@邮件域)+收件人、主题、正文、附件

邮件发送流程

不同邮件域:发件人(用户名@邮件服务器域名) --> 邮件服务器 --> 其他域邮件服务器 --> 收件人(xx@qq.com)

同邮件域:发件人(用户名@邮件服务器域名) --> 邮件服务器 --> 收件人(xx@qq.com)

邮件服务器种类

发送邮件服务器:SMTP协议(TCP 25),用于将客户端的邮件发送到指定邮件服务器中;smtp.域名

接受邮件服务器:POP3(TCP 110)用户删除邮件后,邮件服务器依然保留该邮件、IMAP4(TCP 143)用户删除邮件后,邮件服务器也删除该邮件。用于将邮件服务器邮件下载到收件人本地;pop.域名、imap.域名

收发邮件的软件

MTA:邮件传输代理:用于实现邮件的发送,一般指邮件服务器,Microsoft Exchange、Postfix、Dovecot、SendMail;使用SMTP协议

MUA:邮件用户代理:用于实现邮件的接受,一般指客户端,Outlook、Foxmail、thunderbird、xchar;使用POP3、IMAP4协议

邮件提供商

共有:QQ邮箱、163网易邮箱、hotmail微软、gmail谷歌、outlook微软等

私有:自建邮件服务器

二、Postfix部署发件服务


1.创建运行用户和组

yum -y install cyrus-sasl-devel* cyrus-sasl-plain* cyrus-sasl-lib* cyrus-sasl-2.1*      //安装SASL加密软件包
/etc/init.d/postfix stop && chkconfig --level 35 postfix off                //将系统自带服务停止并开机禁用
#useradd -M -s /sbin/nologin postfix    //如果系统中没有自带postfix用户则新建
#groupadd postfix    //如果系统中没有自带postfix组则新建
#groupadd postdrop    //如果系统中没有自带postdrop组则新建
gpasswd -a postfix postfix                              //将postfix用户加入到Postfix组
gpasswd -a postfix postdrop                         //将postfix用户加入到postdrop组

2.解压并安装postfix

tar -zxvf postfix-3.2.2.tar.gz -C /usr/src/    //解压源码包
cd /usr/src/postfix-3.2.2/     //进入解压目录
make makefiles ‘CCARGS=-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I /usr/include/sasl‘ ‘AUXLIBS=-L/usr/lib64/sasl2 -lsasl2‘    //配置安装
//生成Mailfile配置文件,并启动sasl认证、指定依赖库文件位置
//CCARGS:启用SASL认证,并指定SASL头文件存储位置
//AUXLIBS:指定额外的函数库文件位置
make && make install    //编译并安装

3.编辑配置文件

postconf -n >/tmp/hehe.conf                 //将有效的配置文件导出
mv /tmp/hehe.conf /etc/postfix/main.cf
vim /etc/postfix/main.cf
  9 inet_interfaces = 192.168.1.10              //指定监听IP
 10 myhostname = mail.xueluo.org                //新增,指定当前主机名
 11 mydomain = xueluo.org                   //新增,指定邮件域
 12 myorigin = $mydomain                    //新增,外发邮件时发送中邮件域
 13 home_mailbox = Maildir/                 //新增,邮件的存储位置(存储到用户的家目录)
 19 mydestination = $myhostname,$mydomain           //允许投递的目标邮件域
postfix start                           //启动postfix服务

4.SMTP邮件测试

groupadd mailusers                      //新建邮件用户组
useradd -s /sbin/nologin -g mailusers hehe    //新建邮件用户加入新建的组
useradd -s /sbin/nologin -g mailusers haha
echo "123" | passwd --stdin hehe      //为新建的用户设置密码
echo "123" | passwd --stdin haha
yum -y install telnet                       //安装远程连接工具
telnet mail.xueluo.org 25                       //连接到邮件服务器的25端口
HELO mail.xueluo.org                //宣告客户端地址
MAIL FROM:hehe@xueluo.org           //告知发件人地址
RCPT TO:haha@xueluo.org             //告知收件人地址
DATA                        //告知要发送的邮件数据
Subject: He is he                   //指定邮件标题
heh is hehe !!!             //撰写邮件正文
. quit                  //邮件编写完毕并退出
quit                        //退出连接
ls /home/haha/Maildir/new/                  //验证发件服务器是否无误,查看是否有新邮件

Dovecot 部署收件服务


1.创建运行用户

useradd -M -s /sbin/nologin dovecot
useradd -M -s /sbin/nologin dovenull

2.源代码编译安装

tar -zxvf /root/dovecot-2.2.31.tar.gz -C /usr/src/      
cd /usr/src/dovecot-2.2.31/
./configure --sysconfdir=/etc/                  //配置dovecot的配置文件存储目录
make && make install

3.拷贝模版文件

cp doc/dovecot-initd.sh /etc/init.d/dovecot             //拷贝启动脚本文件
chmod +x /etc/init.d/dovecot
chkconfig --add dovecot                     //将dovecot注册为系统服务
cp -r /usr/local/share/doc/dovecot/example-config/* /etc/dovecot/   //拷贝模版配置文件

4.新建PAM认证模块

vim /etc/pam.d/dovecot
#%PAM-1.0
auth    required    pam_nologin.so
auth    include system-auth
account include system-auth
session include system-auth

5.编辑配置文件

vim /etc/dovecot/dovecot.conf
#!include conf.d/*.conf             //注释该行,位于98行
!include conf.d/10-auth.conf                //只使用系统用户认证
ssl = no                        //禁用SSL
disable_plaintext_auth = no             //允许明文验证
mail_location = maildir:~/Maildir           //指定邮箱的位置

6.启动服务并验证

/etc/init.d/dovecot restart             //重启dovecot服务
telnet mail.xueluo.org 110              //连接到邮件服务器的110端口(POP3)
USER haha           //指定登录用户
PASS 123                //指定用户
LIST                //查看邮件列表
RETR 1              //查看你第一封邮件
QUIT

DNS部署


为了邮件客户端能自动扫描到收发邮件服务器的主机名部署一台DNS

一块网卡为vmnet1

1.修改网络配置

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
DNS1=192.168.1.10
/etc/init.d/network restart     //重启网络服务
vim /etc/sysconfig/network     //修改主机名
HOSTNAME=ns.xueluo.org

2.安装bind软件包

yum -y install bind bind-utils

3.编辑主配置文件

vim /etc/named.conf
options {
    listen-on port 53 { 192.168.1.10; };                    //设置监听IP地址;需修改
    directory   "/var/named";                       //区域配置文件存放目录
    dump-file   "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";    allow-query {localhost;};                       //删除该行
    recursion yes;
    dnssec-enable no;                           //bind安全检测机制;需修改
    dnssec-validation no;                       //bind安全检测机制;需修改
    dnssec-lookaside auto;
    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
    managed-keys-directory "/var/named/dynamic";
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "xueluo.org" IN {                              //指定正向解析域为xueluo.org
    type master;                                //指定DNS类型,为主DNS服务器
    file "xueluo.org.zone";                         //正向解析文件
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
cp /var/named/named.empty /var/named/xueluo.org.zone                //拷贝DNS模版文件并重命名
vim /var/named/xueluo.org.zone
$TTL 86400(TTL值,生命周期)
@   IN SOA  xueluo.org.(需要解析的域名) admin.xueluo.org.(管理员邮箱) (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    IN  NS  ns.xueluo.org.      //NS记录(起始授权记录);输入DNS服务器的主机名
ns  IN  A   192.168.1.10        //DNS服务器对应的IP地址
    IN  MX 10   mail.xueluo.org.        //MX记录
mail    IN  A   192.168.1.10        //mail.xueluo.org对应的IP
chown named:named /var/named/xueluo.org.zone   //将正向解析文件的属主和属组设置为named用户

4.重启服务

/etc/init.d/named start && chkconfig --level 35 named on    \\重启服务并设置为35级别的开机自启

5.验证

客户端设置DNS为DNS服务器的IP地址
安装邮件客户端-->输入用户名@邮件域名和密码,应该能自动识别到收发邮件服务器的主机名-->实现邮件通信

Postfix服务

标签:center   dovecot   ssl   其他   发送   inter   目标   监听   家目录   

原文地址:http://blog.51cto.com/13770206/2140128

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!