postfix基础邮件服务

 案例1:postfix基础邮件服务

1.1 问题

本例要求在虚拟机server0上配置 postfix 基础服务,具体要求如下:

  1. 监听本机的所有接口
  2. 将邮件域和邮件服务主机名都改为 example.com

然后在server0上使用mail命令测试发信/收信操作:

  1. 由 root 给本机用户 mike 发一封测试邮件
  2. 查收用户 mike 的邮箱,读取邮件内容,确保是从 root@example.com 发过来的

1.2 方案

电子邮箱:1234567@qq.com表示在互联网区域qq.com内的一台邮件服务器上属于用户1234567的一个电子邮箱(目录)。

postfix发信服务(TCP 25,SMTP)的功能:

  • 为用户提供电子邮箱
  • 为邮箱用户向其他邮件服务器发送邮件
  • 为邮箱用户投递/存储收到的邮件

dovecot取信服务(TCP 110/143,POP3/IMAP)的功能:为邮箱用户提取邮件。

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:配置postfix基础邮件服务

1)安装postfix软件包

  1. [root@server0 ~]# yum  -y  install  postfix
  2. .. ..

2)调整邮件服务配置

  1. [root@server0 ~]# vim  /etc/postfix/main.cf
  2. .. ..
  3. inet_interfaces = all                         //监听接口
  4. mydomain = example.com                          //邮件域
  5. myhostname = example.com                          //本服务器主机名

3)启动postfix服务

  1. [root@server0 ~]# systemctl  restart  postfix

4)查看邮件服务监听状态

  1. [root@server0 ~]# netstat  -antpu | grep  :25
  2. tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1739/master
  3. tcp6       0      0 :::25                   :::*                    LISTEN      1739/master

步骤二:使用mail命令发信/收信

1)给用户root发一封测试邮件

  1. [root@server0 ~]# echo  '1111'  |  mail  -s  'mail1'  root

2)由管理员收取指定用户root的邮件

  1. [root@server0 ~]# mail  -u  root
  2. Heirloom Mail version 12.5 7/5/10.  Type ? for help.
  3. "/var/mail/root": 1 message 1 new
  4. >N  1 root                  Sat Nov 26 17:40  18/532   "mail"
  5. & 1                                                  //读取第1封邮件内容
  6. Message  1:
  7. From root@example.com  Sat Nov 26 17:40:06 2016
  8. Return-Path: <root@example.com>
  9. X-Original-To: root
  10. Delivered-To: root@example.com
  11. Date: Sat, 26 Nov 2016 17:40:06 +0800
  12. To: root@example.com
  13. Subject: mail1                                      //检查邮件标题
  14. User-Agent: Heirloom mailx 12.5 7/5/10
  15. Content-Type: text/plain; charset=us-ascii
  16. From: root@example.com (root)
  17. Status: R
  18. 1111                                              //检查邮件内容
  19. & q                                                  //退出mail程序
  20. Held 1 message in /var/mail/root
  21. [root@server0 ~]#

案例2:postfix空客户端邮件服务

2.1 问题

本例要求初始化后端邮件服务器desktop0.example.com,操作如下:

  1. lab  smtp-nullclient  setup

然后将虚拟机server0配置为空客户端邮件服务器,具体要求如下:

  1. 此系统不接收外部发送来的邮件,本地发送的任何邮件都会自动路由到 smtp0.example.com
  2. 所发出的邮件显示来自于 desktop0.example.com
  3. 在 server0 上发送一封标题为 Test1 的邮件给本地用户 student ;实际结果将由 desktop0 上的本地用户 student 接收到此邮件

2.2 方案

postfix空客户端邮件服务器的功能:

  • 不为用户提供电子邮箱
  • 为邮箱用户向其他邮件服务器发送邮件
  • 不接受(投递/存储)发送给给本服务器的邮件

空客户端邮件服务器的工作环境:

客户端 ---> 空客户端邮件服务器(发)---> 普通邮件服务器(发/收)

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:将server0配置为空客户端邮件服务器

1)重建postfix服务配置

删除配置文件/etc/postfix/main.cf,然后重装postfix软件包:

  1. [root@server0 ~]# rm  -rf  /etc/postfix/main.cf
  2. [root@server0 ~]# yum  -y  reinstall  postfix
  3. .. ..

2)修改main.cf配置文件,调整或修改现有配置

  1. [root@server0 ~]# vim  /etc/postfix/main.cf
  2. #mydomain = example.com                              //移除上一案例的配置
  3. #myhostname = example.com
  4. relayhost = [smtp0.example.com]                     //目标邮件服务器
  5. inet_interfaces = loopback-only                      //仅本机
  6. myorigin = desktop0.example.com                      //发件来源域
  7. mynetworks = 127.0.0.0/8  [::1]/128                  //信任网络
  8. mydestination =                                     //将投递域设为空

3)启动postfix服务

  1. [root@server0 ~]# systemctl  restart  postfix

4)查看邮件服务监听状态

  1. [root@server0 ~]# netstat  -antpu | grep  :25
  2. tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2054/master
  3. tcp6       0      0 ::1:25                  :::*                    LISTEN      2054/master

步骤二:将desktop0配置为后端邮件服务器

1)执行 lab smtp-nullclient setup

  1. [root@desktop0 ~]# lab  smtp-nullclient  setup
  2. Setting up desktop machine...
  3. Setting up dovecot...
  4. Generating new dovecot certificate...
  5. Setting up postfix... Generating new postfix certificates...
  6. Setting up firewall...
  7. Setting up user student...
  8. Installing httpd to share cert...

2)确认发信服务(postfix)

  1. [root@desktop0 ~]# netstat  -antpu | grep  :25
  2. tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      31366/master
  3. tcp6       0      0 :::25                   :::*                    LISTEN      31366/master

3)确认取信服务(dovecot)

  1. [root@desktop0 ~]# netstat  -antpu | grep  dovecot
  2. tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      31229/dovecot
  3. .. ..

步骤三:使用mail命令测试空客户端邮件服务器

1)在server0(空客户端邮件服务器)上给本机用户student发信

  1. [root@server0 ~]# echo  'Mail Data.'  |  mail  -s  'Test1'  student
  2. [root@server0 ~]# mail  -u  student                  //本机用户并不会收到邮件
  3. No mail for student

2)在desktop0(后端邮件服务器)上的同名用户student可以收到信

  1. [root@desktop0 ~]# mail  -u  student
  2. Heirloom Mail version 12.5 7/5/10.  Type ? for help.
  3. "/var/mail/student": 1 message 1 new
  4. >N  1 root                  Sat Nov 26 18:29  21/833   "Test"
  5. & 1                                                  //读取第1封邮件内容
  6. Message  1:
  7. From root@desktop0.example.com  Sat Nov 26 18:29:08 2016
  8. Return-Path: <root@desktop0.example.com>
  9. X-Original-To: student@desktop0.example.com
  10. Delivered-To: student@desktop0.example.com
  11. Date: Sat, 26 Nov 2016 18:29:08 +0800
  12. To: student@desktop0.example.com
  13. Subject: Test1                                      //检查邮件标题
  14. User-Agent: Heirloom mailx 12.5 7/5/10
  15. Content-Type: text/plain; charset=us-ascii
  16. From: root@desktop0.example.com (root)
  17. Status: R
  18. Mail Data.                                         //检查邮件内容
  19. & q                                                  //退出mail程序
  20. Held 1 message in /var/mail/student
  21. [root@desktop0 ~]#

postfix基础邮件服务的更多相关文章

  1. 工程师技术(二):postfix基础邮件服务、postfix空客户端邮件服务、搭建mariadb数据库系统、配置一个数据库、使用数据库查询

    一.postfix基础邮件服务 目标: 本例要求在虚拟机server0上配置 postfix 基础服务,具体要求如下: 1> 监听本机的所有接口    2> 将邮件域和邮件服务主机名都改为 ...

  2. 十三.基础邮件服务、parted分区工具、交换分区、链路聚合

    1.基础邮件服务 DNS服务器:虚拟机classroom   以server0.example.com 为例  yg@server0.example.com    xln@server0.exampl ...

  3. 创建基于MailKit和MimeKit的.NET基础邮件服务

    邮件服务是一般的系统都会拥有和需要的功能,但是对于.NET项目来说,邮件服务的创建和使用会较为的麻烦..NET对于邮件功能提供了System.Net.Mail用于创建邮件服务,该基础服务提供邮件的基础 ...

  4. MailKit和MimeKit的.NET基础邮件服务

    MailKit和MimeKit的.NET基础邮件服务 邮件服务是一般的系统都会拥有和需要的功能,但是对于.NET项目来说,邮件服务的创建和使用会较为的麻烦..NET对于邮件功能提供了System.Ne ...

  5. <邮件服务postfix+mysql>MAIL第二篇

    环境:本服务是建立在第一篇的基础之上的,最好搭建好第一篇 玩此服务的前提是你的系统装好了msql和postfix服务. Postfix+mysql主要是把邮件服务的发与mysql结合使用.当然mysq ...

  6. postfix 邮件服务的安装及详解

    该实验系统:cetnos 6.5 sendmail:性能好,设置复杂,适合老手 qmail:体积小260+k ,模块化.需要做二次开发,适合对邮件性能有要求的 postfix:前身是sendmail, ...

  7. Postfix 邮件服务 - postfix服务

    postfix 邮件服务 也是基于sendmail (需要关闭或卸载sendmail)postfix 是一个电子邮件服务器,它为了改良sendmail邮件服务器而产生的,并且它的配置文件比sendma ...

  8. centos配置postfix邮件服务

    1.环境初始化 [root@mail ~]# rpm -q centos-release //查看系统版本 centos-release-7-5.1804.el7.centos.x86_64 [roo ...

  9. Postfix 邮件服务 - PostfixAdmin

    PostfixAdmin 基于web的postfix邮件发送服务器的管理工具,可以直接管理postfix的虚拟域名和邮件用户,前提是这些数据是存储在mysql或者是PostgreSQL数据库中. Po ...

随机推荐

  1. js小数计算引起的精度误差问题

    我记得刚开始学js的时候学到浮点有举例0.1+0.2 它的计算结果是: 0.1+0.20.30000000000000004 很神奇的一个计算,js是弱语言,在精度上没做处理: 我就自己定义了加减乘除 ...

  2. FastDFS源码学习(一)FastDFS介绍及源码编译安装

    FastDFS是淘宝的余庆主导开发的一个分布式文件系统,采用C语言开发,性能较优.在淘宝网.京东商城.支付宝和某些网盘等系统均有使用,使用场景十分广泛. 下图来源:https://blog.csdn. ...

  3. Rust入坑指南:齐头并进(下)

    前文中我们聊了Rust如何管理线程以及如何利用Rust中的锁进行编程.今天我们继续学习并发编程, 原子类型 许多编程语言都会提供原子类型,Rust也不例外,在前文中我们聊了Rust中锁的使用,有了锁, ...

  4. JavaScript和JSCript的标准ECMAScript

    相信很多人都听过JavaScript(简称JS),甚至学过JavaScript.但是却没听过ECMAScript(简称:EC). ECMAScript其实是JavaScript的标准,也就是JavaS ...

  5. python报错:ERROR: No matching distribution found for dns.resolver

    可能有的小伙伴在安装dns.resolver的时候会遇到这个问题: 我百度的时候别人是: pip install dns-python 但是我这样安装也还是错误.有些时候是这个包改名了所以你没有搜索到 ...

  6. python爬取网站页面时,部分标签无指定属性而报错

    在写爬取页面a标签下href属性的时候,有这样一个问题,如果a标签下没有href这个属性则会报错,如下: 百度了有师傅用正则匹配的,方法感觉都不怎么好,查了BeautifulSoup的官方文档,发现一 ...

  7. 洛谷 P5639 【CSGRound2】守序者的尊严 题解

    原题链接 简要题意: 从 \(1\) 号位开始走,可以连续走过一段连续的 \(0\) ,每走一次,所有位置取反. (即 \(0 \gets 1\),\(1 \gets 0\)). 算法一 模拟暴力即可 ...

  8. Smallest Range II

    2020-01-21 21:43:52 问题描述: 问题求解: 这个题目还是有点难度的,感觉很巧妙也很难想到. 整体的思路如下: 1. 首先原问题等价于 +0 / + 2*K 2. 那么res = M ...

  9. 控制台报错Cause: org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 78; 元素类型 "select" 必须后跟属性规范 ">" 或 "/>"

    首先我的控制台报错是这样的,我找了一下原因看到是第四行的错误: 它说元素select后面必须跟属性规范">""/>"但是我把我眼睛都快丑瞎了都没发现 ...

  10. 浏览器与DNS解析过程

    浏览器解析 1.地址栏输入地址后,浏览器检查自身DNS缓存 地址栏输入chrome://net-internals/#dns 查看. 2.浏览器缓存中未找到,那么Chrome会搜索操作系统自身的DNS ...