• postfix基础邮件服务


                                                              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 ~]#
  • 相关阅读:
    Orcale分析函数OVER(PARTITION BY... ORDER BY...)的讲解
    Linux下安装Redmine(项目管理软件)
    CentOS5.4安装redmine详细步骤
    CentOS安装redmine 2后的简单配置
    在linux上安装redmine
    Linux安装MediaWiki
    Linux下安装配置MediaWiKi全过程
    用Navicat_SSH 连接数据库服务器
    基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用
    基于C#的MongoDB数据库开发应用(3)--MongoDB数据库的C#开发之异步接口
  • 原文地址:https://www.cnblogs.com/qingbai/p/11936971.html
Copyright © 2020-2023  润新知