由于需要,想弄一个自动发送邮件的mailx或者sendmail

但是执行

echo "test" | mail -s "Worning mail !" xxxxx@qq.com;

的时候就会报错,提示使用ipv6,但是网卡没有配置ipv6的设置,所以需要强制然他默认为ipv4

vi /etc/main.cf

# Enable IPv4, and IPv6 if supported
inet_protocols = all   #将这个修改为ipv4   记住是小写的 不要看他的注释,他的注释是错误的

但是修改完成后,还是不行,重启还是失败

# /etc/init.d/postfix  restart
Shutting down postfix:                                     [FAILED]
Starting postfix:                                          [FAILED]

很难受,日志也没有相关的记载  日志的位置是/var/log/maillog

还是根据这个入手,结果看以前的日志,发现好多报警

Nov 27 22:46:43 xxx postfix/sendmail[24028]: warning: or the command is run from a set-uid root process
Nov 27 22:46:43 xxx postfix/sendmail[24095]: warning: or the command is run from a set-uid root process
Nov 27 22:46:43 xxx postfix/sendmail[24206]: warning: or the command is run from a set-uid root process
Nov 27 22:46:43 xxx postfix/sendmail[24028]: warning: the Postfix sendmail command must be installed without set-uid root file permissions
Nov 27 22:46:43 xxx postfix/sendmail[24095]: warning: the Postfix sendmail command must be installed without set-uid root file permissions
Nov 27 22:46:43 xxx postfix/sendmail[24206]: warning: the Postfix sendmail command must be installed without set-uid root file permissions
Nov 27 22:46:43 xxx postfix/sendmail[24095]: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
Nov 27 22:46:43 xxx postfix/sendmail[24028]: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
Nov 27 22:46:43 xxx postfix/sendmail[24206]: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
Nov 27 22:46:43 xxx postfix/sendmail[24095]: warning: inet_protocols: configuring for IPv4 support only
Nov 27 22:46:43 xxx postfix/sendmail[24206]: warning: inet_protocols: configuring for IPv4 support only
Nov 27 22:46:43 xxx postfix/sendmail[24028]: warning: inet_protocols: configuring for IPv4 support only
Nov 27 22:46:43 xxx postfix/sendmail[24206]: fatal: file /etc/postfix/main.cf: parameter mail_owner: unknown user name value: postfix
Nov 27 22:46:43 xxx postfix/sendmail[24095]: fatal: file /etc/postfix/main.cf: parameter mail_owner: unknown user name value: postfix
Nov 27 22:46:43 xxx postfix/sendmail[24028]: fatal: file /etc/postfix/main.cf: parameter mail_owner: unknown user name value: postfix

其中最后几行持续输入一个参数报错,mail_owner这个参数,提示没有用户,去mail.rc文件中找到这个参数,后面的是=postfix 于是在/etc/passwd中找这个用户,发现这个用户也被删掉

more /etc/passwd | grep postfix

echo "postfix:x:89:89::/var/spool/postfix:/sbin/nologin" >> /etc/passwd

由于系统日志没有记录,不知道是否添加成功,手动启动postfix进程,发现还是失败

于是尝试将postfix卸载重新安装

但是yum持续有问题,结果发现/etc/resolv.conf中nameserver 8.8.8.8被注释掉

打开注释,重新执行yum clean all; yum makecache

可以执行

再次执行yum remove postfix ,结果再卸载时候,需要将其他4个文件一并卸载,(但是用rpm -e 但是卸载报错,因为有其他服务以来postfix这个包,无法卸载),yum reinstall 也无法安装

这4个包分别是:

很难受,那也要卸载掉,于是点了y继续卸载,写在成功后,重新安装

yum install postfix -y   安装成功,但是只安装了他自己,没有其他的包呀!

安装完成后,将其他的包也重新装上,毕竟cron和sysstat是非常重要的东西

yum -y install vixie-cron

yum install sysstat -y

执行完上述的命令就可以将卸载的东西全部还原(这里如果原来的crontab中有执行计划的话,再次卸载安装的话,执行计划是不会丢失的,具体的位置在/var/spool/cron/下面,如果不放心可以备份)

全部弄完后,再吃重启,发现可以重启成功了,但是第一步中修改的ipv4变回了all,需要再次修改后,重启,

最后,postfix启动成功

【Linux】postfix大坑笔记的更多相关文章

  1. Linux实战教学笔记08:Linux 文件的属性(上半部分)

    第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...

  2. Linux实战教学笔记13:定时任务补充

    第十三节 定时任务补充 标签(空格分隔): Linux实战教学笔记 ---[更多资料点我查看][1] 1,生产环境常用Crontab专业实例 1.1书写crontab定时任务多个基本要领 1.1.1 ...

  3. Linux实战教学笔记07:Linux系统目录结构介绍

    第七节 Linux系统目录结构介绍 标签(空格分隔):Linux实战教学笔记 第1章 前言 windows目录结构 C:\windows D:\Program Files E:\你懂的\精品 F:\你 ...

  4. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  5. Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)

    第五节 远程SSH连接服务与基本排错 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理 ...

  6. Linux实战教学笔记04:Linux命令基础

    第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...

  7. Linux实战教学笔记03:操作系统发展历程及系统版本选择

    标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...

  8. Linux实战教学笔记02:计算机系统硬件核心知识

    标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 互联网企业常见服务器介绍 1.1 互联网公司服务器品牌 - DELL(大多数公司,常用) - HP - IBM(百度在用) 浪潮 联想 航天联 ...

  9. Linux实战教学笔记01:计算机硬件组成与基本原理

    标签(空格分隔): Linux实战教学笔记 第1章 如何学习Linux 要想学好任何一门学问,不仅要眼睛看,耳朵听,还要动手记,勤思考,多交流甚至尝试着去教会别人. 第2章 服务器 2.1 运维的基本 ...

随机推荐

  1. springboot:异步调用@Async

    在后端开发中经常遇到一些耗时或者第三方系统调用的情况,我们知道Java程序一般的执行流程是顺序执行(不考虑多线程并发的情况),但是顺序执行的效率肯定是无法达到我们的预期的,这时就期望可以并行执行,常规 ...

  2. GitLab的基本了解和使用

    使用前提 GitLab账号 安装好git VSCODE && 配置GitPath 在vscode里配置GitPath file-preferences-setting 在search ...

  3. vue第十八单元(单向数据流 vuex状态管理)

    第十八单元(单向数据流 vuex状态管理) #课程目标 1.理解什么是数据管理模式 2.什么是vuex 3.什么时候使用vuex 4.vuex安装及工作原理 5.vuex语法 #知识点 1.首先来看下 ...

  4. AWVS批量导入网站(刷漏洞入门)

    今天整了一天这个AWVS批量扫描脚本,主要是下了好几个版本的AWVS,都不稳定,一次次删除又一次次安装. 做这件事儿目的就是为了批量刷漏洞,不过弄好之后又不打算刷漏洞了,不太喜欢无脑刷漏洞,没什么意义 ...

  5. dropload.min.js 下拉刷新后,无法上拉加载更多

    使用方法 1.引入文件 <script src="/app/media/js/dropload.min.js"></script> 111111111111 ...

  6. EF生成模型时Disigner中无信息

    原博文 http://blog.sina.com.cn/s/blog_a1b63a730101ezs4.html 说明 DbContext是对ObjectContext的简化封装.原来的ObjectC ...

  7. 类818tu.c微信小说分销系统设计之定时模板消息源码

    近期将出个系列讲解开发过程,同时作为此系统的开发记录吧,万能的博客园,本边讲解如何发送模板消息,并且能够定时发送,下一篇讲解如何处理多个公众号的网页授权登录问题 [后台]http://xiaoshuo ...

  8. python初学者-从键盘输入两个数判断大小

    a = int(input("a:")) b = int(input("b:")) if a > b : print(a) else : print(b)

  9. Java学习_Java快速入门

    Java简介 安装完JDK后,需要设置一个JAVA_HOME的环境变量,它指向JDK的安装目录.在Windows下,它是安装目录,类似: C:\Program Files\Java\jdk-15 把J ...

  10. java中将信息写入excel

    //实体类 package com.cn.peitest.excel; import java.io.Serializable; /** * 员工基本信息 * * @author pei */ pub ...