在 CentOS 上,可以通过 mailx 命令 或 sendmail 命令来给因特网发送电子邮件。

关于前者的文章比较多,关于后者的文章比较少。

这里记录了我在 CentOS 7 上安装和配置 sendmail 服务器的过程。

1. 安装 Sendmail

yum install sendmail sendmail-cf m4

2. 配置 Sendmail 服务器

  • access — 允许/拒绝 其他系统使用 Sendmail 发送电邮
  • domaintable — 给 Sendmail 的域名映射
  • local-host-names — 用于给主机定义别名
  • mailertable — 定义指令,给特定域名重写路由
  • virtusertable — 指定具体域名形式的别名,允许多个虚拟的别名

2.1 在/etc/mail/sendmail.mc注释掉以下这行,允许从任何地方接受电邮。

在开头加上 dnl,即可在 sendmail.mc 注释掉一行。

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

2.2 在sendmail.mc的‘MAILER’选项之上增加这行

FEATURE(relay_hosts_only)dnl

2.3 添加你PC的完全主机名到此文件

hostname >> /etc/mail/relay-domains

3. 重编译 Sendmail 配置

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

重启Sendmail

systemctl restart sendmail
or
service sendmail restart
or
/etc/init.d/sendmail restart

4. 配置基于域名的电子邮件的路由

如上所述,virtusertable用于别名,允许多个虚拟域名宿于一台机器。

  • All emails addressed to @example.com domain delivered to support@mydomain.com
  • All emails addressed to support@mydomain.com will forward to local user jack.
  • All emails addressed to @mydomain.com will forward to domain @otherdomain.com with corresponding usernames.
  • All emails addressed to @otherdomain.com will be rejected my mail server with acknowledging sender with the message
@example.com support@mydomain.com
support@mydomain.com jack
@mydomain.com %1@otherdomain.com
@otherdomain.com error:nouser User unknow

执行以下命令更新 virtusertable.db 文件。

makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

最好重启Sendmail服务。

测试了以下命令,成功发送电邮到我的QQ邮箱(在这之前,mailx -s "test" saintchild@qq.com < mailbody 也邮件发送成功):

cat mailbody | sendmail saintchild@qq.com

参考

怎样在 CentOS/RHEL 7/6 上安装和配置 Sendmail 服务器的更多相关文章

  1. 在CentOS/RHEL 6.5上安装Chromium 谷歌浏览器

    之前Google就说了,由于CentOS/RHEL 6已经是过期的系统,所以不再会有Chrome了. 虽然后来由于引起了社区的抗议,从而改口,不再提CentOS/RHEL 6是过期系统了:但是,目前在 ...

  2. 在CentOS/RHEL 6.4上安装Chromium

    是的,之前Google就说了,由于CentOS/RHEL 6已经是过期的系统,所以不再会有Chrome了.虽然后来由于引起了社区的抗议,从而改口,不再提CentOS/RHEL 6是过期系统了:但是,目 ...

  3. 怎样在CentOS 7.0上安装和配置VNC服务器

    VNC轻松连接远程Linux桌面 http://jingyan.baidu.com/article/6c67b1d6f1bac92786bb1e6d.html 这是一个关于怎样在你的 CentOS 7 ...

  4. CentOS 7.0 上安装和配置 VNC 服务器

    作为一个系统管理员,大多数时间是通过网络管理服务器的.在管理服务器的过程中很少会用到图形界面,多数情况下我们只是用 SSH 来完成我们的管理任务.在这篇文章里,我们将配置 VNC 来提供一个连接我们 ...

  5. 怎样在 CentOS 7.0 上安装和配置 VNC 服务器

    这是一个关于怎样在你的 CentOS 7 上安装配置 VNC 服务的教程.当然这个教程也适合 RHEL 7 .在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置 VNC ...

  6. centos 6.5下编译安装、配置高性能服务器Nginx

    1.nginx是什么? Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力 ...

  7. buntu 16.04上安装和配置Samba服务器

    https://www.linuxidc.com/Linux/2017-11/148194.htm

  8. 如何在 CentOS 7 / RHEL 7 终端服务器上安装 KVM

    如何在 CnetOS 7 或 RHEL 7(Red Hat 企业版 Linux)服务器上安装和配置 KVM(基于内核的虚拟机)?如何在 CentOS 7 上设置 KVM 并使用云镜像 / cloud- ...

  9. CentOS 6.5系统上安装SVN服务器端的方法及步骤

    VN其实就是Subversion,分为服务器端和客户端.之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法.本文主要介绍CentOS 6.5系统上安装SVN服务 ...

随机推荐

  1. Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别

    敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: ...

  2. 可扩展标记语言XML(淅淅沥沥的小雨)

    XML简述 XML用于描述数据,是当前处理结构化文档信息的有力工具.与操作系统编程语言的开发平台无关,可以实现不同系统之间的数据交互. xml文件结构: 1 <?xml version=&quo ...

  3. 使用 scipy.fft 进行Fourier Transform:Python 信号处理

    摘要:Fourier transform 是一个强大的概念,用于各种领域,从纯数学到音频工程甚至金融. 本文分享自华为云社区<使用 scipy.fft 进行Fourier Transform:P ...

  4. Mysql资料 存储索引

  5. EmmyLua 注解功能

    前言 网上配置 EmmyLua 的方法很多,此处就不做赘述(因此前提是你已经安装配置完EmmyLua) 本文仅是对 EmmyLua插件 内 注解功能 用法的代码演示.因为网上大部分EmmyLua配置教 ...

  6. winpcap 静默安装

    前几天做一个小工具用到winpcap,由于有些用户系统未必安装过这个而领导要求尽量减少用户点击,于是只好想办法静默安装了,csdn搜了,貌似没有好用的,求助stackoverflow,还好,在某篇解答 ...

  7. libevent源码学习(5):TAILQ_QUEUE解析

    目录 前言 结点定义 链表初始化 链表查询及遍历 链表查询 链表遍历 插入结点 头插法 尾插法 前插法 后插法 删除结点 替换结点 总结 前言 在libevent中使用到了TAILQ数据结构,看了一下 ...

  8. 【LeetCode】1418. 点菜展示表 Display Table of Food Orders in a Restaurant

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典统计边的次数 日期 题目地址:https://le ...

  9. 【LeetCode】124. Binary Tree Maximum Path Sum 解题报告 (C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 日期 题目地址:https://leetcode ...

  10. 【LeetCode】676. Implement Magic Dictionary 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典 汉明间距 日期 题目地址:https://le ...