精华内容
下载资源
问答
  • linux_POSTFIX安装和配置

    2011-03-15 17:06:07
    POSTFIX安装和配置,ExtMail Solution HOWTO for Linux,图文教程
  • Linux下安装配置Postfix邮件服务器

    千次阅读 2020-05-01 23:23:46
    如果先把域名设置好,则postfix会自动根据当前设定的域名作为配置,后面会省事很多。假设我们设定的域名为abc.com echo 'mail.abc.com' > /etc/hostname hostname -F /etc/hostname 二、搭建DNS环境域名解析,...

    一、设置域名

    如果先把域名设置好,则postfix会自动根据当前设定的域名作为配置,后面会省事很多。当然,也可以不用设置域名,而使用系统默认的localhost.localdomain域名。这里假设我们设定的域名为mail.abc.com

    echo 'mail.abc.com' > /etc/hostname
    hostname -F /etc/hostname
    

    注意,这种方法只是临时设置,重启系统后会被还原。可以使用后面介绍的setup指令进行永久设置。

    二、搭建DNS环境域名解析,用于解析postfix地址

    yum install -y bind
    yum install -y bind-utils
    vim /etc/named.conf
    

    修改/etc/named.conf下面两行内容:

    listen-on port 53 { 127.0.0.1;192.168.8.8; }; //添加自己本的IP到列表中
    allow-query { any; }; // 把这个值设置为any

    修改子配置文件

    vim /etc/named.rfc1912.zones

    在文件末尾添加两行如下内容(需要注意,type与file前面的一定是tab制表符,不能是空格):

    zone "abc.com" IN {
           type master;
           file "abc.com.zone";
    };
    zone "8.168.192.in-addr.arpa" {
           type master;
           file "abc.com.local";
    };
    

    其中第一个为正向解析区域,第二个为反向解析区域。

    cd /var/named
    cp -p named.localhost abc.com.zone
    cp -p named.localhost abc.com.local
    vim abc.com.zone
    vim abc.com.local
    

    编辑正向区域配置文件abc.com.zone,内容如下(IP配置根据情况填写):

    $TTL 1D
    @       IN SOA  @ rname.invalid. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      @
            A       127.0.0.1
            AAAA    ::1
            A       192.168.8.8
            MX 10   mail.abc.com
    mail    A       192.168.8.8
    

    编辑反向区域配置文件abc.com.local,内容如下(IP配置根据情况填写):

    $TTL 1D
    @       IN SOA  abc.com rname.invalid. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      @
            A       127.0.0.1
            AAAA    ::1
            A       192.168.8.8
            MX 10   mail.abc.com
    181     PTR     mail.abc.com
    

    添加DNS解析配置:

    vim /etc/resolv.conf
    

    添加内容:

    nameserver 192.168.8.8

    注意:这种方法只是临时添加的,DNS在重启网络服务后会被NetworkManager重新生成,如果想要永久添加DNS解析,可以修改/etc/sysconfig/network-scripts/ifcfg-eth0文件,在其后添加:

    DNS1=192.168.8.8

    或者使用setup命令在网络配置中选择DNS配置进行添加或者修改:
    在这里插入图片描述
    这里可以直接修改主机名、DNS以及DNS搜寻路径,把主机名设置为mail.abc.com,主DNS设置为本机IP,第二DNS设置为网关IP。
    配置好后重启named服务,并进行测试:

    service named restart
    nslookup mail.abc.com
    

    如果nslookup mail.abc.com后出现:

    Server:		192.168.8.8
    Address:	192.168.8.8#53
    
    Name:	mail.abc.com
    Address: 192.168.8.8
    

    则表示成功。

    三、安装postfix服务器并进行配置

    可能postfix在系统安装过程中已经安装了此服务,可以使用下面的命令查询

    rpm -q postfix
    

    如果没有可以手动安装:

    yum install -y postfix
    

    使用命令:

    postconf -a
    

    查询是否支持cyrus与dovecot,如果不支持需要重新安装新的版本。笔者使用的Centos 6.10,系统中安装的是postfix-2.6.6-8.el6.x86_64,是支持cyrus与dovecot。

    编辑postfix的配置文件:

    vim /etc/postfix/main.cf
    

    如果在安装postfix之前设置好了hostname就可以不用修改hostname,否则需要修改下面两项:

    myhostname = mail.abc.com
    mydomail = abc.com

    还需要修改以下内容:

    inet_interfaces = 192.168.8.8, 127.0.0.1, localhost        #监听接口
    inet_protocols = ipv4
    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
    home_mailbox = Maildir/                    #邮件目录,在用户目录下
    

    home_mailbox有两个选项,一个是Mailbox,另一个就是Maildir。

    • Mailbox
      同一个用户的所有邮件内容存储为单个文件,通常保存在/var/spool/mail/目录下文件名与用户名相同,这是Postfix默认使用的方式。
    • Maildir
      使用目录结构来存储用户的邮件内容每一个用户使用一个文件夹,每封邮件都作为一个独立的文件存放。这种方式的存取速度和效率要好一些,对于管理邮件内容页也更加方便。

    配置完成后可以使用下面的命令进行语法检测:

    postfix check
    

    如果想要查看postfix非默认配置,可以使用命令:

    postconf -n
    

    如果没有错误则可以启动postfix服务了:

    service postfix start
    

    四、安装配置dovecot

    yum install -y dovecot
    

    编辑/etc/dovecot/dovecot.conf文件,打开:

    protocols = imap pop3 lmtp
    listen = *, ::
    

    编辑/etc/dovecot/conf.d/10-auth.conf文件,设置:

    disable_plaintext_auth = no
    

    编辑/etc/dovecot/conf.d/10-mail.conf文件,设置:

    mail_location = maildir:~/Maildir
    

    五、测试

    在进行测试之前,我们需要添加一些测试账号:

    groupadd mailusers
    useradd -g mailusers -s /sbin/nologin jack
    passwd jack
    useradd -g mailusers -s /sbin/nologin tom
    passwd tom
    

    上面先添加了一个邮件组mailusers,然后添加了mailusers组的两个用户jack和tom,但这两个用户并不能登录系统。

    为了保障测试顺利,建议先把防火墙关闭,同时把SELinux防火墙也关闭:

    vim /etc/selinux/config
    

    设置SELINUX为disabled:

    SELINUX=disabled

    然后重启系统:

    reboot now
    

    1.使用mail命令进行简单测试

    echo "您好,这是邮件内容" | mail -s "hello" tom@abc.com
    

    可以在用户目录的Maildir/new中查看到新邮件:
    在这里插入图片描述
    在这里插入图片描述

    2.使用telnet进行测试

    连接端口25发邮件:

    telnet mail.abc.com 25
    

    然后写邮件,依次输入下面红框中的命令或者字符即可。

    Trying 192.168.8.8...
    Connected to mail.abc.com.
    Escape character is '^]'.
    220 mail.abc.com ESMTP Postfix
    helo mail.abc.com 	// 设置发邮件的主机
    250 mail.abc.com   // 250表明命令执行成功
    mail from: jack@mail.abc.com  // 设置发件人地址
    250 2.1.0 Ok
    rcpt to:tom@mail.abc.com // 设置收件人地址
    250 2.1.5 Ok
    data // 开始写邮件正文
    354 End data with <CR><LF>.<CR><LF>
    hello tom, I am Jack! 这是一封测试邮件!
    
    . 	// 标点符号“.“结束正文书写
    250 2.0.0 Ok: queued as 09F21E0973
    quit // 退出telnet
    221 2.0.0 Bye
    Connection closed by foreign host.
    
    

    在这里插入图片描述
    连接端口110收邮件:

    telnet mail.abc.com 110
    

    依次输入红框中的命令,即可查看邮件:

    user tom // 使用tom用户登录
    pass tom // 输入tom的密码
    list // 列出邮件列表,可以看到有一封邮件
    retr 1 // 读取1号邮件
    quit //退出telnet
    

    在这里插入图片描述
    从上面的示例可以看到,控制台方式使用中英文混合可能会有一些问题。

    3.使用第三方邮件工具收发邮件

    这里我们以Foxmail为例,Foxmail运行在Windows平台,我们的邮件服务器运行在Linux平台,为了方便测试,需要把两台电脑部署在同一局域网内。并且注意Linux的防火墙是否有打开相应的端口,为了方便测试可以直接关闭防火墙。
    安装好Foxmail后,添加邮箱账号:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    然后以同样的方式添加tom的账号。
    然后我们以tom账号向jack账号发邮件
    在这里插入图片描述
    邮件发送成功后,就可以以jack的账号来收取邮件了,我们可以看到有一封新邮件:
    在这里插入图片描述
    在这里插入图片描述
    如果在测试过程中有问题,可以查看邮件系统日志文件:

    /var/log/maillog

    目前配置的邮件系统,可以在内网进行邮件收发,也可以向外发送,比如网易,QQ,新浪等等(如果没有被对方视为垃圾邮件的话),但很快估计就会发不成功,会被退回,可以参考退回原因。
    比如网易邮箱退回信息:

    host 163mx03.mxmail.netease.com[220.181.14.158] said: 554
        DT:SPM 163 mx41,W8CowACXax2qMa1e1h2ZJg--.2949S2 1588408748,please see
    http://mail.163.com/help/help_spam_16.htm?ip=171.212.195.205&hostid=mx41&time=1588408748
        (in reply to end of DATA command)
    

    错误码:554 DT:SPM 可能被视为垃圾邮件了,参见http://mail.163.com/help/help_spam_16.htm?ip=171.212.195.205&hostid=mx41&time=1588408748

    QQ邮箱退回信息:

    host mx3.qq.com[58.251.110.111] said: 550 Domain may not
        exist or DNS check failed
    

    错误码:550 Domain may not exist or DNS check failed
    即域名不存在或者DNS检查失败。有些邮箱会在收到邮件时,验证是否可以向该地址发送邮件,如果不能发送则会拒收,以防止垃圾邮件。

    出现这些问题有一个重要原因是因为我们并未在公网注册我们的域名,所以对方无法反向查找。不过到目前为止内部使用是完全没有问题了。

    展开全文
  • postfix服务是linux系统上给用户之间提供收发mail邮件的服务。 二、CentOS 7 搭建postfix服务器 1.设置mail域名 echo 'mail.zt.com' > /etc/hostname hostname -F /etc/hostname #让设置立即生效 2.DNS域名解析 ...

    一、什么是postfix服务器

    postfix服务是linux系统上给用户之间提供收发mail邮件的服务。

    二、CentOS 7 搭建postfix服务器

    1.设置mail域名

    echo 'mail.zt.com' > /etc/hostname
    hostname -F /etc/hostname  #让设置立即生效
    

    2.DNS域名解析 postfix地址

    这一步在整个流程中很重要,是连接成功的关键,建议先了解DNS服务器的搭建再操作
    建立配置文件

    vi /etc/named.conf
    

    修改以下内容

    options:
    	listen-on port 53 { 192.168.222.110; };  #本机IP
    	allow-query		  { 0.0.0.0/0; };
    

    在最后添加以下内容

    zone "zt.com" IN {
    	type master;
    	file "zt.com.zone";
    };
    
    zone "222.168.192.in-addr.arpa" IN {
    	type master;
    	file "192.168.222.zone";
    };
    

    检查语法错误

    named-checkconf
    

    建立区域数据文件 (正向解析)

    cd /var/named
    vi zt.com.zone
    

    添加以下内容

    $TTL 510
    @	IN	SOA		zt.com		test.zt.com. (
    	20210326
    	4H
    	1M
    	2W
    	2D
    )
    @	    IN		NS		dns.zt.com.
    	    IN		MX 10	mail.zt.com.
    mail	IN		A		192.168.222.110
    dns		IN		A		192.168.222.100
    

    检测语法错误

    named-checkzone zt.com ./zt.com.zone
    

    建立反向区域数据文件 (反向解析)

    vi 192.168.222.com.zone
    

    添加以下内容

    $TTL 510
    @	IN	SOA		zt.com		test.zt.com. (
    	20210326
    	4H
    	1M
    	2W
    	2D
    )
    @	    IN		NS		dns.zt.com.
    110		IN		PTR		mail.zt.com.
    100		IN		PTR		dns.zt.com.
    

    检测语法错误

    named-checkzone 222.168.192.in-addr.arpa ./192.168.222.zone
    

    添加DNS解析配置

    vi /etc/resolv.conf
    	nameserver 192.168.222.110
    

    启动DNS服务

    systemctl restart named
    

    nslookup检测
    在这里插入图片描述
    显示自己的IP与域名对应关系正确,则配置成功。

    3.安装并配置postfix服务器

    查询、安装postfix

    rpm -qa|grep postfix
    yum -y install postfix
    postconf -a    #查询是否支持dovecot
    

    编辑postfix配置文件

    vi /etc/postfix/main.cf
    #修改主机名
    75	myhostname = mail.zt.com
    83	mydomain = zt.com
    #修改IP等网络配置及邮件目录
    113	inet_interfaces = all
    119	inet_protocols = ipv4
    164	mydestination = #后面添加 ,$mydomain
    419	home_mailbox = Maildir/
    

    语法检测

    postfix check
    

    启动服务

    systemctl restart postfix
    

    4.安装并配置dovecot服务

    yum安装

    yum -y install dovecot
    

    编辑配置文件

    vi /etc/dovecot/dovecot.conf
    #去掉注释
    24	protocols = imap pop3 lmtp
    30	listen = *, ::
    
    vi /etc/dovecot/conf.d/10-auth.conf
    
    10	disable_plaintext_auth = no
    
    vi /etc/dovecot/conf.d/10-mail.conf
    
    24	mail_location = Maildir:~/Maildir
    

    启动dovecot服务(否则无法telnet登录110端口)

    systemctl start dovecot
    

    注:上述配置行前面的数字表示行号,方便查找

    5.测试postfix服务器

    添加测试账号

    groupadd ztmail
    useradd -g ztmail zt511
    useradd -g ztmail zt512
    passwd zt511 zt512 #这里密码设为wasdijk
    

    防火墙、SELinux配置

    vi /etc/sysconfig/iptables
    #添加tcp25、tcp110端口
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT   
    

    重启防火墙

    systemctl restart iptables.service
    

    关闭防火墙、SELinux

    iptables -F
    setenforce 0
    getenforce #查看状态
    

    telnet端口测试
    连接25端口发邮件

    telnet mail.zt.com 25
    

    设置方法见图
    在这里插入图片描述
    这里先helo声明邮件主机,设置发件人zt511,收件人zt512,data用于标识邮件正文,内容为“hello,I am testing postfix.” 标点符号.用于结束正文书写,最后quit退出telnet。

    连接110端口收邮件(这里一定要开启dovecot服务,不然连不上

    telnet mail.zt.com 110
    

    查看方法见图
    在这里插入图片描述
    声明登录用户“zt512” user zt512
    输入密码:pass 密码
    list 用于列出邮件列表(可以看出有两封邮件)
    retr 2 读取2号邮件(刚刚发送的)
    可以完整的看到邮件信息和内容
    quit 退出telnet 测试成功。

    Maildir测试
    也可以登录相关用户,进入相关文件夹查看邮件
    在这里插入图片描述
    注意:邮件文件保存在Maildir下的cur文件夹里,进入即可看到很长文件名的邮件文件,可以用cat或者vi命令查看邮件内容。

    展开全文
  • LinuxPostfix配置和使用

    万次阅读 2014-05-16 16:40:50
    Linux下免费邮件服务Postfix的搭建方法和配置

    Postfix为何物,详见:http://zh.wikipedia.org/wiki/Postfix

    0.关于Postfix

    postfix的产生是为了替代传统的sendmail.相较于sendmail,postfix在速度,性能和稳定性上都更胜一筹。现在目前非常多的主流邮件服务其实都在采用postfix. 当我们需要一个轻量级的的邮件服务器是,postfix不失为一种选择。

    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程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。

    下面来介绍linux上如何搭建和配置postfix服务:


    1.关掉sendmail相关的所有服务,最好是直接卸载sendmail.

    # service sendmail stop
    # chkconfig sendmail off

    #rpm -qa | grep sendmail | xargs rpm -e


    2.安装postfix.

    redhat6.0以上版本应该是默认集成了postfix服务的,假如没有安装的话,可以手动安装。

    rpm -qa | grep postifx (查看是否安装)

    yum install postfix


    3.安装完成后,修改配置文件:/etc/postfix/main.cfg


    vi /etc/postfix/main.cf


    myhostname = sample.test.com  ← 设置系统的主机名


    mydomain = test.com  ← 设置域名(我们将让此处设置将成为E-mail地址“@”后面的部分)


    myorigin = $mydomain  ← 将发信地址“@”后面的部分设置为域名(非系统主机名)


    inet_interfaces = all  ← 接受来自所有网络的请求


    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain  ← 指定发给本地邮件的域名


    home_mailbox = Maildir/  ← 指定用户邮箱目录


    <保存退出!>


    4.为本机添加DNS server.

    为什DNS Server?因为在邮件发送过程中,需要把邮件地址的domain地址转化成IP地址,再去发送给对应的收件人,这里涉及到DNS中的A记录和MX记录相关的知识,不熟悉的同学可以google或者百度 脑补一下 :-)


    如何添加DNS server呢,DNS server去哪里寻找?

    vim /etc/resolv.conf 

    添加如下行:

    nameserver 8.8.8.8

    nameserver 8.8.4.4


    上面用的8.8.8.8/8.8.4.4是Google Free DNS server,当然还有很多免费的DNS server供大家使用,可以google一下:-)


    5.测试一下邮件是否能够发送成功:

    命令行输入$: > echo "Mail Content" | mail -s "Mail Subject" xxxx@xxx.com

    Note:if you see below warings after you run above command.

    send-mail: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
    send-mail: warning: inet_protocols: configuring for IPv4 support only
    postdrop: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
    postdrop: warning: inet_protocols: configuring for IPv4 support only

    that means you don't have IPv6 configured in your OS's network stack, but your mailer (presumably postfix) is configured to use IPv6. Since there is no IPv6 for your mailer to use, it's warning you that it's only going to use IPv4.

     

    To disable the waring messsage, go to /etc/postfix/main.cf and change from:

    inet_protocols = all
    

    to:

    inet_protocols = ipv4
    

    This will only use ipv4 and the warning message will go away.

    You will have to issue a stop and start for postfix to register the change. 

    service postfix restart


    6.查看log,确认邮件发送状态:

    Postfix邮件的log位置是:/var/log/maillog

    发送成功的话,会返回250和OK,也可以去自己的邮件客户端查收。


    一切OK的话,那Postfix mail service应该就搭建成功了。


    &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

    另外一些有用的postfix维护命令,一遍日常的检测和维护:

    mailq :会列出当前在postfix发送队列中的所有邮件

    postsuper -d ALL:删除当前等待发送队列的所有邮件,包括发送失败的退信

    当然还有很多,就不一一列举了,大家可以网上搜索扩展,Good Luck!


    7.Update Mail From sender

    echo "do-not-reply@example.com   root@example.com" >> /etc/postfix/generic 
    echo "smtp_generic_maps = hash:/etc/postfix/generic" >>/etc/postfix/main.cf 
    postmap /etc/postfix/generic
    service postfix restart

    展开全文
  • Linux学习-postfix配置

    2021-04-22 08:20:01
    本文基本centos6.10,postfix2.11.11 postfix基于客户端的访问控制 基于客户端的访问控制 postfix内置了多种反垃圾邮件的机制,其中就包括“客户端”发送邮件限制,客户端判别机制可以设定一系列客户信息的判别条件 ...

    本文基本centos6.10,postfix2.11.11
    postfix基本配置
    myhostname:定义主机名,判断当前主机工作在什么位置,跟mx记录对应的主机名称一致
    mydomain:自己所处的核心域
    mynetworks:定义本地网络,允许给中继的网络或地址
    mydestination:自己为哪些发往目标收取邮件,如目标不是此处定义的域的,则要进行中继
    myorigin:发件人地址伪装,通常是本地域名,会为发件人补充地址
    inet_interfaces:定义postfix进程监听的IP地址
    postfix基于客户端的访问控制

    1. 基于客户端的访问控制
      postfix内置了多种反垃圾邮件的机制,其中就包括“客户端”发送邮件限制,客户端判别机制可以设定一系列客户信息的判别条件
      smtpd_client_restrictions:控制客户端连接时的限制(建立tcp连接)
      smptd_data_restrictions:控制输入客户端输入数据的限制(data)
      smtpd_helo_restrictions:控制输入helo的限制(helo)
      smtpd_recipient_restrictions:控制收件人的限制(rcpt to)
      smtpd_sender_restrictions:控制发件人限制(mail from)
      上面的参数用于检查SMTP会话过程中的特定阶段,即客户端提供相应信息的阶段,当客户端发起连接请求时,postfix就可以根据配置文件中定义的smtpd_client_restrictions参数来判别此客户端IP的访问控制权限,相应smtpd_helo_restrictions则用于根据用户的helo信息判别客户端的访问能力等。
      如果DATA命令之前的所有内容都被接受,客户端接着就可以开始传送邮件内容了,邮件内容通常由两部分组成,前半部分是标题(header),其可以由header_check过滤,后半部分是邮件正文(body),其可以由check_body过滤,这两项实现的是邮件“内容检查”。

    查找表
    访问控制文件,
    /etc/postfix/access —Hash格式 ---->/etc/postfix/access.db
    tye@test.com reject
    edison@test.com ok

    自定义访问表的条件通常使用check_client_access,check_helo_access,check_sender_access,check_recipient_access进行,它们后面跟上type:mapname格式的访问表类型和名称。其中check_sender_access和check_recipient_access用来检查客户端提供的邮件地址,因此,其访问表中可以使用完整的邮件地址,如admin@test.com;也可以使用域名,如test.com还可以只使用用户的一部分:admin@

    拒绝客户端192.168.88.1发送邮件

    #修改/etc/postfix/access文件
    192.168.88.1		REJECT
    #将access文件转换为hash格式
    postmap /etc/postfix/access
    [root@mail ~]# ls /etc/postfix/access*
    /etc/postfix/access  /etc/postfix/access.db
    #配置postfix使用此文件对客户端进行检查
    	#编辑/etc/postfix/main.cf文件,添加以下参数
    	smtpd_client_restrictions = check_client_access hash:/etc/postfix/access            #hash表示带有.db的文件,后面文件名不用加.db
    #重新启动postfix或重新载入配置文件
    service postfix restart
    #使用192.168.88.1这台机器测试发送邮件
    [C:\~]$ telnet 192.168.88.135 25
    
    
    Connecting to 192.168.88.135:25...
    Connection established.
    To escape to local shell, press 'Ctrl+Alt+]'.
    220 Welcome to our mail.tye.com ESMTP,Warning:Version not Available!
    helo mail.tye.com
    250 mail.tye.com
    mail from :root
    501 5.5.4 Syntax: MAIL FROM:<address>
    mail from: root
    250 2.1.0 Ok
    rcpt to: hadoop
    **554 5.7.1 <unknown[192.168.88.1]>: Client host rejected: Access denied**
    #使用本机测试,一切正常
    [root@mail ~]# telnet localhost 25
    Trying ::1...
    telnet: connect to address ::1: Connection refused
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 Welcome to our mail.tye.com ESMTP,Warning:Version not Available!
    helo mail.tye.com
    250 mail.tye.com
    mail from: root
    250 2.1.0 Ok
    rcpt to: hadoop
    250 2.1.5 Ok
    data
    354 End data with <CR><LF>.<CR><LF>
    123
    1
    ,
    .
    250 2.0.0 Ok: queued as D8457BF30C
    quit
    221 2.0.0 Bye
    Connection closed by foreign host.
    
    

    拒绝发件人域为whitehose.com的所有人发送邮件

    
    #在/etc/postfix/access文件修改如下,来对发送者的域进行控制
    whitehouse.com   REJECT
    #转换为hash格式文件
    [root@mail ~]# postmap /etc/postfix/access
    #在/etc/postfix/main.cf中配置中添加以下行
    smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/access
    
    [root@mail ~]# telnet localhost 25
    Trying ::1...
    telnet: connect to address ::1: Connection refused
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 Welcome to our mail.tye.com ESMTP,Warning:Version not Available!
    helo mail.tye.com
    250 mail.tye.com
    mail from: sender@whitehouse.com
    250 2.1.0 Ok
    rcpt to: hadoop
    **554 5.7.1 <sender@whitehouse.com>: Sender address rejected: Access denied**
    
    

    拒绝向haddoop域的所有人发送邮件

    #编译/etc/postfix/recipient,建制所有人不能向hadoop发送邮件
    [root@mail ~]# vim /etc/postfix/recipient
    hadoop@  REJECT
    #转换为hash格式文件
    [root@mail ~]# postmap /etc/postfix/recipient
    [root@mail ~]# ls /etc/postfix/recipient*
    /etc/postfix/recipient  /etc/postfix/recipient.db
    #修改postfix配置文件,/etc/postfix/main.cf
    [root@mail ~]# vim /etc/postfix/main.cf
    smtpd_recipient_restrictions = hash:/etc/postfix/recipient,permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destination
    
    #测试发送邮件
    [root@mail ~]# telnet localhost 25
    Trying ::1...
    telnet: connect to address ::1: Connection refused
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 Welcome to our mail.tye.com ESMTP,Warning:Version not Available!
    helo mail.tye.com
    250 mail.tye.com
    mail from: tye@tye.com
    250 2.1.0 Ok
    rcpt to:hadoop
    **554 5.7.1 <hadoop>: Recipient address rejected: Access denied**
    
    
    1. 检查表格式的说明
      hash类的检查表使用如下格式
      pattern action
      注:检查表文件中,空白行,仅包含空白字符的行和以#开头的行都会被忽略,以空白字符开头后跟其它非空白字符的行会被认为是前一行的延续,是一行的组成部分
      1)关于pattern
      其pattern通常有两类地址:邮件地址和主机名称/地址
      邮件地址的pattern格式如下:
      user@domain 用于匹配指定邮件地址
      domain.tld 用于匹配以此域名作为邮件地址中的域名部分的所有邮件地址
      user@ 用于匹配以此作为邮件地址中的用户名部分的所有邮件地址
      主机名称/地址的pattern如下
      domain.tld 用于匹配指定域及其子域内的所有主机
      .domain.tld 用于匹配指定域的子域内的所有主机
      net.work.addr.ess
      net.work.addr
      net.work
      net 用于匹配特定的IP地址或网络内的所有主机
      network/mask CIDR格式,匹配指定网络内的所有主机
      2)关于action
      接受类的动作
      OK 接受其pattern匹配的邮件地址或主机名称/地址
      全部由数字组成的action 隐式表示OK
      拒绝类的动作(部分):
      4NN text
      5NN text
      其中4NN类表示过一会儿重试;5NN表示严重错误,将停止重试邮件发送:421和521对postfix有特殊意义,不要自定义这两个代码
      REJECT optional text… 拒绝:text为可选信息
      DEFER optional text… 拒绝:text为可选信息
    展开全文
  • linuxpostfix配置安装.docx
  • 注:本文的邮件服务器只用于发送邮件,也就是STMP服务器。 一、准备工作 1. 为邮件服务器添加DNS解析 ...二、配置postfix postfix是CentOS默认安装的邮件服务器软件。以下配置示例假设要配置的域名是cnblogs.inf
  • Linux VM-0-13-debian 3.16.0-10-686-pae #1 SMP Debian 3.16.76-1 (2019-11-12) i686 GNU/Linux 1.安装 apt-get install bsd-mailx postfix -y 2.编辑修改 /etc/postfix/main.cf relayhost = smtp.189.cn:25 inet...
  • Linux搭建Postfix邮件服务器

    千次阅读 2019-06-04 15:55:48
    第一章:实验环境和目标 1.实验环境 ...CentOs7下搭建Postfix邮件服务器,配置域名服务远程登录访问,新建用个测试用户(sent,recv),两个用户用telnet命令登录邮件服务器,实现两个用户的邮件互发,...
  • cd /etc/postfix && sudo postmap sasl_passwd generic sd_relayhost sender_canonical && sudo launchctl stop org.postfix.master && sudo launchctl start org.postfix.master 然后 echo "`hostname -s` test ...
  • postfix根据域名和地址做一个MX记录,A记录,PTR记录(一般在互联网上邮件服务器都要反解,没有PTR记录会认为是垃圾邮件) $ service iptables stop $ chkconfig iptables on $ setenforce 0 $ hostname mail....
  • 配置认证在邮箱中加入认证功能,那么不在relay配置范围内的用户,只要用户名和密码正确,就可以发送邮件1、安装sasl[root@localhost ~]#rpm -qa | grep sasl[root@localhost ]#yum install -y saslLoaded plugins: ...
  • 1、安装postfix和mailx组件 apk add postfix apk add mailx 2、按照以下内容修改/etc/postfix/main.cfg,如果参数前面有#注释,请去掉 myhostname = mail.test.com mydomain = test.com myorigin = $mydomain inet_...
  • Linux配置Postfix邮件服务器.pdf
  • Postfix:转发邮件配置启用SSL/TLS

    万次阅读 2018-03-05 22:45:07
    Postfix:转发邮件配置启用SSL/TLS Postfix Version: [root@localhost postfix]# postconf -d | grep mail_version mail_version = 2.6.6 Postfix在收到一封邮件后,会将其通过MTA进行转发到指定邮箱服务器。 ...
  • Postfix 是一个自由开源的 MTA(邮件传输代理),用于在 Linux 系统上路由或传递电子邮件。在本指南中,你将学习如何在 CentOS 8 上安装和配置 Postfix。 实验室设置: 系统:CentOS 8 服务器 IP 地址:192.168....
  • postfix:   postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。在Internet世界中,大部分的电子邮件都是通过...
  • 问题 某公司有员工700余人,分布在北京总部及全国各地的分公司,为保证电子信息传递的及时...1)安装并配置postfix软件,适用于tedu.cn 邮件域 2)添加两个邮箱账号:nick、hunter 3)用户nick可以通过 telnet 给用户hu...
  • Postfix配置文件解析

    千次阅读 2018-03-08 14:20:47
    一、 postfix配置文件结构 postfix配置文件位于/etc/postfix下,安装完postfix以后,我们可以通过ls命令查看postfix配置文件: [root@mail postfix]# ls install.cf main.cf master.cf postfix-script 这...
  • 摘 要 Postfix是Wietse Venema在IBM的GPL协议下开发的MTA(邮件传输代理)软件。下面一段摘自postfix的官方站点...你可以通过配置文件设置每个程序的运行参数。postfix具有多层防御结构,可以有效地抵御恶意入侵者。
  • 1、接受邮件和发送邮件1.1配置本地DNS解析在配置邮件之前要先安装bind,在server上配置本地dns解析,这里我们简单配置,可以看http://13132323.blog.51cto.com/13122323/1955802这篇博客。[root@server~]#vim/etc/...
  • Linux Postfix

    2020-07-28 16:18:25
    [root@mail ~]# postfix check 配置无误,则无输出信息 [root@mail ~]# postfix reload postfix/postfix-script: refreshing the Postfix mail system 2.2主要目录和配置文件 安装好postfix软件以后,...
  • 本文基于postfix2.11.11和sasl2 postfix的安装详见:postfix安装 为postfix开启基于cyrus-sasl的认证功能 #验证postfix是否支持cyrus风格的sasl认证,如果输出结果如下,表示支持 [root@mail ~]# postconf -a cyrus ...
  • vim /etc/Mail.rc配置文件 set from=****979761@qq.com 对方收到邮件显示的账号set smtp=smtp.qq.com 指定第三方发邮件的服务器地址set smtp-auth-user=****979761@qq.com 发邮件的用户名set smtp-autp-password= ...
  • yum install postfix 3.2 配置postfix配置前建议先备份) vim /etc/postfix/main.cf 修改内容: queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix...
  • Linux下的postfix

    千次阅读 2019-01-25 18:13:07
    Linux下的postfix Postfix是wietse Venema在IBM的GPL协议下开发的MTA(邮件传输代理)软件。 特点为以下几点:免费、速度快、兼容性好、更灵活、安全性高。 一、Postfix的邮件队列 Postfi...
  • 实验、postfix邮件服务器 2018年8月26日 15:09 准备工作确认已安装好相关软件包。   ...创建专门的运行组账号postfix和postdrop,以及用户账号postfix。...将下载的postfix源码包解压,释放...配置 make makefiles ...
  • 主要介绍了linux下/etc/postfix下 main.cf 配置文件,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 然后,修改相应配置文件,配置 Dovecot 。 [root@sample ~]# vi /etc/dovecot.conf   ← 编辑 Dovecot 的配置文件 #protocols = imap imaps   ← 找到这一行,将协议设置为 imap 与 pop3 ...
  • 1、邮件系统的组成 2、邮件服务器的类型 ...几乎所有Linux的缺省配置中都内置了这个软件,只需要设置好操作系统,它就能立即运转起来。 Postfix是一个由IBM资助下由Wietse Venema 负责开发的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,746
精华内容 5,498
关键字:

linuxpostfix配置

linux 订阅