实战postfix邮件发送

实验环境:               服务器端server: willis.com   172.25.254.1               客户端desktop:  desktop.com   172.25.254.2实验内容: 1.邮件远程发送                 2.邮件别名                 3.邮件群发                 4.空壳邮件服务搭建                 5.不同服务器之间邮件传送(DNS邮件解析)                 6.出栈地址伪装                  7.客户端主机名/地址限制 :(通过IP限制发件)                   8.通过发件人地址进行限制 :(通过地址限制发件)                 9.通过收件人地址进行过滤 :(限制收件)                             1.邮件远程发送
  1.1服务端                 1.1-1   systemctl stop firewalld           yum install postfix        1.1-2vim /etc/postfix/main.cf                   mydomain = willis.com          #收件方看到的方邮件方主机名                  myorigin = $mydomain                  inet_interfaces = all          #开启接口                 #inet_interfaces = localhost   #关闭只允许本地访问                  mydestination = $myhostname, $mydomain, localhost  #         1.1-3.systemctl restart  postfix                   netstat antlpe |grep master  #查看端口 [[email protected] ~]# netstat -antple |grep mastertcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      0          43632      2497/master         tcp6       0      0 :::25                   :::*                    LISTEN      0          43633      2497/master              1.2.远程发送端(客户端)[[email protected] ~]# yum install telnet -y[[email protected] ~]# telnet 172.25.254.1 25
Trying 172.25.254.1...
Connected to 172.25.254.1.
Escape character is ‘^]‘.
220 linux.com ESMTP Postfixehlo hello250-linux.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
2.邮件别名            2.1.vim /etc/aliases                 最后添加  admin:    root    ###给root一个别名为admin         2.2.postalias /etc/aliases     ###重读别名文件          2.3.systemctl restart  postfix          2.4.id admin       ###可查看到admin用户不存在                   mail admin     ###相当于给root用户发送邮件                   mail        ###查看root用户的邮件[[email protected] ~]# vim /etc/aliases[[email protected] ~]# postalias  /etc/aliases[[email protected] ~]# systemctl restart postfix.service [[email protected] ~]# id willisid: willis: no such user[[email protected] ~]# mail willisSubject: hellohello , my name is willis,how are you..EOT[[email protected] ~]# mailHeirloom Mail version 12.5 7/5/10.  Type ? for help."/var/spool/mail/root": 1 message 1 new>N  1 root                  Fri Sep  9 10:36  18/567   "hello"& 1Message  1:From [email protected]  Fri Sep  9 10:36:54 2016Return-Path: <[email protected]>X-Original-To: willisDelivered-To: [email protected]Date: Fri, 09 Sep 2016 10:36:54 +0800To: [email protected]Subject: helloUser-Agent: Heirloom mailx 12.5 7/5/10Content-Type: text/plain; charset=us-asciiFrom: [email protected] (root)Status: Rhello , my name is willis,how are you.& qHeld 1 message in /var/spool/mail/root

 3.邮件群发     1.vim /etc/postfix/moreuser             root             student       2.vim /etc/aliases             最后添加 more:  :include:/etc/postfix/moreuser       3.postalias /etc/aliases       4.systemctl restart  postfix        5.mail more       ###群发邮件             mail         ###查看root用户的邮件             mail -u student ###查看student用户的邮件  [[email protected] ~]# >/var/spool/mail/root [[email protected] ~]# useradd student[[email protected] ~]# vim /etc/postfix/moreuser                             root                             student[[email protected] ~]# vim /etc/aliases[[email protected] ~]# postalias /etc/aliases[[email protected] ~]# systemctl restart postfix.service [[email protected] ~]# mail moreSubject: hello-worldhello world..EOT[[email protected] ~]# mailHeirloom Mail version 12.5 7/5/10.  Type ? for help."/var/spool/mail/root": 1 message 1 new>N  1 root                  Fri Sep  9 10:42  21/661   "hello-world"& qHeld 1 message in /var/spool/mail/root[[email protected] ~]# mail -u studentHeirloom Mail version 12.5 7/5/10.  Type ? for help."/var/mail/student": 1 message 1 new>N  1 root                  Fri Sep  9 10:42  21/664   "hello-world"& qHeld 1 message in /var/mail/student      
4.空壳邮件服务搭建        4.1.在desktop(另外一台仅中转邮件的服务器,空壳端)上          postconf -e "inet_interfaces = all"          postconf -e "mydomain = willis.com"          postconf -e ‘myorigin = $mydomain‘          postconf -e "mydestination = "          postconf -e "relayhost = 172.25.254.1"          postconf -e "local_transport = error:local delivery disabled "          systemctl restart postfix.service
(附注:火墙要关闭systemctl stop firewalld  selinux要置0 setenforce 0 )[[email protected] ~]# postconf -e "mydomain = willis.com" [[email protected] ~]# postconf -e ‘myorigin = $mydomain‘[[email protected] ~]# postconf -e "mydestination = "[[email protected] ~]#  postconf -e "relayhost = 172.25.254.1"[[email protected] ~]# postconf -e "local_transport = error:local delivery disabled "[[email protected] ~]# systemctl restart postfix.service     4.2.在主服务器server上          postconf -e "mynetworks = 127.0.0.0/8 172.25.254.0/24"         #接受来自那个网段的邮件          systemctl restart postfix.service
(附注:火墙要关闭systemctl stop firewalld        selinux要置0 setenforce 0 )[[email protected] ~]# postconf -e "mynetworks = 127.0.0.0/8 172.25.254.0/24" You have mail in /var/spool/mail/root[[email protected] ~]# systemctl restart postfix.service      4.3.实验验证    在desktop(另外一台仅中转邮件的服务器)上(> /var/log/maillog       ###清空邮件日志)   mail root    ###发送文件[[email protected] ~]# >/var/log/maillog [[email protected] ~]# mail rootSubject: beautiful worldThrer are many beautiful things..EOT[[email protected] ~]# mailNo mail for root    在主服务器server上( > /var/spool/mail/root ###清空邮件)   mail         ###查看文件
[[email protected] ~]# >/var/spool/mail/root [[email protected] ~]# mailHeirloom Mail version 12.5 7/5/10.  Type ? for help."/var/spool/mail/root": 1 message 1 new>N  1 root                  Fri Sep  9 10:54  21/756   "beautiful world"& qHeld 1 message in /var/spool/mail/root

5.不同服务器之间的邮件传送(DNS邮件解析记录)  
  将前面做实验的环境恢复到初始状态。    vim /etc/postfix/main.cf                   mydomain = willis.com                           myorigin = $mydomain                  inet_interfaces = all                          #inet_interfaces = localhost                    mydestination = $myhostname, $mydomain, localhost      5-1server端配置dnshostnamectl set-hostname mail.willis.com安装DNS:yum install bind -y1)vim /etc/resolv.conf            search willis.com        nameserver 172.25.254.12)vim /etc/named.rfc1912.zoneszone "willis.com" IN {        type master;        file "willis.com.zone";        allow-update { none; };};

zone "redhat.com" IN {        type master;        file "redhat.com.zone";        allow-update { none; };};3)cd /var/named/       cp -p named.localhost willis.com.zone4)vim willis.com.zone$TTL 1D@       IN SOA  dns.willis.com. root. (                                        0       ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum        NS      dns.willis.com.dns     A       172.25.254.1willis.com.  MX 1    172.25.254.1.5)cp -p willis.com.zone redhat.com.zone       vim redhat.com.zone$TTL 1D@       IN SOA  dns.redhat.com. root. (                                        0       ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum        NS      dns.redhat.com.dns     A       172.25.254.1redhat  MX 1    172.25.254.2.                             6)systemctl start named 
    5-2 . desktop端配置   hostnamectl set-hostname mail.redhat.com      1)vim /etc/resolv.conf            search   redhat.com              nameserver  172.25.254.1    2)测试          mail [email protected]         mail [email protected]
[[email protected] ~]# mail [email protected]Subject: hello-willishello . you are a good boy..EOT[[email protected] ~]# mail [email protected]Subject: hello goog boyAre you ok now? .EOTYou have new mail in /var/spool/mail/root[[email protected] ~]# mail[[email protected] ~]# mail [email protected]Subject: hello good boy.Are you OK now?.EOT[[email protected] ~]# mailHeirloom Mail version 12.5 7/5/10.  Type ? for help."/var/spool/mail/root": 1 message 1 new>N  1 root                  Fri Sep  9 12:24  18/569   "hello good boy."& 1Message  1:From [email protected]  Fri Sep  9 12:24:07 2016Return-Path: <[email protected]>X-Original-To: [email protected]Delivered-To: [email protected]Date: Fri, 09 Sep 2016 12:24:07 +0800To: [email protected]Subject: hello good boy.User-Agent: Heirloom mailx 12.5 7/5/10Content-Type: text/plain; charset=us-asciiFrom: [email protected] (root)Status: R

Are you OK now?         6.出栈地址伪装
    6.1服务器端(伪装端)    vim /etc/postfix/generic
    增加
    [email protected]     [email protected]
    postmap generic        ###生成generic.db文件
    postconf -d | grep generic
    postconf -e "smtp_generic_maps = hash:/etc/postfix/generic"
    systemctl restart postfix.service    测试        mail [email protected][[email protected] postfix]# mail [email protected]Subject: hello.你好呀.EOT    6.2 接受端[[email protected] ~]# mailHeirloom Mail version 12.5 7/5/10.  Type ? for help."/var/spool/mail/root": 1 message 1 new>N  1 root                  Fri Sep  9 12:47  21/733   "hello."& 1Message  1:From [email protected]  Fri Sep  9 12:47:10 2016Return-Path: <[email protected]>X-Original-To: [email protected]Delivered-To: [email protected]Date: Fri, 09 Sep 2016 12:47:11 +0800To: [email protected]Subject: hello.User-Agent: Heirloom mailx 12.5 7/5/10Content-Type: text/plain; charset=utf-8From: [email protected] (root)Status: R

你好呀

7.客户端主机名/地址限制 :(通过IP限制发件)      postconf -e "smtpd_client_restrictions                                     = check_client_access hash:/etc/postfix/access"      vim /etc/postfox/main.cf    smtpd_client_restrictions = check_client_access hash:/etc/postfix/access,      vim /etc/postfox/access               192.168.0.4   REJECT               192.168.0     REJECT    postmap access     systemctl restart postfix
8.通过发件人地址进行限制 :(通过地址限制发件)     postconf -e "smtpd_sender_restrictions                                    = check_sender_access hash:/etc/postfix/sender"     vim /etc/postfox/main.cf         smtpd_sender_restrictions =                                        check_sender_access hash:/etc/postfix/sender      vim /etc/postfix/sender                       [email protected] REJECT(OK、RELAY)     postmap sender     systemctl restart postfix9.通过收件人地址进行过滤 :(限制收件)         postconf -e "smtpd_recipient_restrictions = check_recipient_access
                                    hash:/etc/postfix/recipient"            vim /etc/postfox/main.cf    
                    smtpd_recipient_restrictions = check_recipient_access
                                    hash:/etc/postfix/recipient           vim /etc/postfix/recipient    
                        [email protected]  REJECT(OK、RELAY,DISCARDED)          postmap recipient
时间: 2024-10-09 21:38:49

实战postfix邮件发送的相关文章

Postfix邮件发送和接收实验

Postfix邮件发送和接收实验首先打开三台虚拟机分别是linux.windows7(两台).把三台虚拟机的网卡设置成仅主机模式,linux虚拟机做dns服务器,给两台windows7配置IP和dns地址,IP地址的网段要和dns的地址在同一网段.两台Windows7虚拟机能够ping通dns服务器的地址1.安装dns包bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm2.进行主配置文件的配置3.区域配置文件的配置4.指定邮件交换记录5.开启named服务和关闭防火墙及

Java经验杂谈(1.记PostFix邮件发送性能与有效发送问题)

业务需求: 需要定期给注册会员发送广告,问卷等邮件,每天需要完成百万级的邮件发送. 服务器:若干台postfix服务器 遇到问题:对于每天百万级的邮件发送任务,postfix服务器很容易完成,Java客户端包含发送时的业务逻辑处理时间,多起几个线程也很容易做到.但是,如果发送速度过快,会被邮件服务商列入黑名单而拒收邮件,而每个邮件服务商对接收邮件的速度要求又不一样. 解决方法:这样,需要针对每个邮件批量发送任务,按照每个邮件服务商能接收的速度来发送邮件.比如,163每秒3封,sina每秒4封等.

烂泥:Postfix邮件服务器搭建之软件安装与配置

本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb Postfix邮件服务器的搭建需要使用到几个软件,分别是cyrus-sasl.postfix.dovecot.postfixadmin.roundcubemail,只有这几个软件相互配合才能搭建一套完整的邮件服务器. PS:本次实验在centos6.5 64bit上进行. 一.软件功能介绍 cyrus-sasl.postfix.dovecot.postfixadmin.roundcub

linux redhat6.5 中 搭建Postfix邮件服务器

Postfix 是一种电子邮件服务器,它是由IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的.最早在1990年代晚期出现,是一个开放源代码的软件.实验需要:软件包 postfix(发送传输邮件) .dovecot(接受邮件) bind(DNS解析)实验目标:使zhangsan lisi 帐号通过postfix可以互发邮件 1:安装DNS 编辑named.conf 2:编辑named.rf

阿里云centos 7 创建postfix服务器,并进行stmp验证,并结合phpmailer进行邮件发送

由于centos默认会自带sendmail,而sendmail存在安全性问题和使用复杂的问题,故而选择postfix服务器,由于暂时没有收邮件的需求,故未安装dovecot. 1.[[email protected] ~]# yum remove sendmail -y    #卸载自带的sendmail 2.[[email protected] ~] #yuminstall postfix –y  # 安装postfix服务的主程序包 配置项如下: 1 queue_directory= /va

python 项目实战之Django 邮件发送

发送邮件¶ 虽然 Python 借助 smtplib 模块简化了发送邮件的流程,但是 Django 在其基础上提供了更简化的支持.这些封装意在加快邮件发送,方便在开发时测试发送邮件,在不支持 SMTP 的平台上支持发送邮件. 官网:https://docs.djangoproject.com/zh-hans/2.2/topics/email/ 这些代码位于 django.core.mail 模块. 快速上手 仅需两行代码: from django.core.mail import send_ma

Linux6.5部署Postfix邮件服务器

2-12-部署Postfix邮件服务器实现邮件的收发功能 试验环境: 服务端:xuegod63.cn       IP:192.168.1.63 部署Postfix+Dovecot Postfix:提供邮件发送功能,使用的协议:SMTP,端口:25 Dovecot:提供邮件接收功能,使用的协议:POP3.IMAP,端口:110,143 邮件通信协议 1.SMTP(SimpleMail Transfer Protocol,简单邮件传输协议):主要用于发送和传输邮件.SMTP协议使用的TCP端口为2

运维学习之postfix邮件系统服务

postfix 一.postfix邮件服务 postfix提供smtp协议用来投递邮件 默认端口25 /var/log/maillog##服务日志 mail [email protected] Subject: hello hello world .#用"."来结束录入内容并发送 mailq##查看邮件队列 postqueue -f##重新处理邮件队列 默认情况下邮件端口只在127.0.0.1上开启 二.测试环境配置 安装dns服务 配置1912文件内容如下 把named.localh

Postfix邮件系统安装与配置:Postfix,Cyrus-IMAP,Cyrus-sasl,Dovecot和SPF

最近发现邮件发送服务还是挺重要的.可能对于每天只有一百来封的邮件发送需求的个人博主来说,一个免费的邮箱提供的免费SMTP邮件发送服务就可以满足了,但是对于一些大型的网站.论坛和平台,每天的邮件发送量可以达到上万封以上,免费的邮件发送服务是不能满足需要了. 市场上已经有了不少的付费邮件发送服务,但是终归是第三方的邮件发送服务,在邮件发送方式.邮件内容等方面肯定要受到不少的限制.与其花大量的时间寻找更好的付费邮件服务,还不如自己动手利用VPS或者服务器搭建一个属于自己的邮件发送平台,搭建起来并不复杂