在 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. 使用jsp制作index,可以通过<c:if test==“管理员”>或<c:if test=="客户">来区别展示用户界面

    <%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ ta ...

  2. 机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)

    参考链接:https://www.cnblogs.com/Zhi-Z/p/8728168.html 具体更详细的可以查阅周志华的西瓜书第二章,写的非常详细~ 一.机器学习性能评估指标 1.准确率(Ac ...

  3. 学习 27 门编程语言的长处,提升你的 Python 代码水平

    Python猫注:Python 语言诞生 30 年了,如今的发展势头可谓如火如荼,这很大程度上得益于其易学易用的优秀设计,而不可否认的是,Python 从其它语言中偷师了不少.本文作者是一名资深的核心 ...

  4. 让你用Markdown的方式来做PPT

    也许你是以为代码高手,Markdown写作高手,但你是PPT高手吗? 你的成绩有没有被PPT高手抢走过呢? 不会作精美PPT是不是很头疼呢? 今天就给大家介绍了一款PPT制作利器:Slidev~ 说S ...

  5. MySQL 的日志:binlog

    前言:binlog 用于记录数据库执行写入性操作的日志信息,以二进制的形式保留在磁盘中.它是由 Server 层进行记录的,使用任何存储引擎都会产生 binlog. 实验准备 我们通过 Docker ...

  6. 洛谷 11 月月赛 I Div.2 A [Kubic] Addition 题解

    Content 你有一个长度为 \(n\) 的序列 \(a\).你可以执行 \(n-1\) 次操作,每次操作中你可以选择一个位置 \(i\),并删除 \(a_i\) 和 \(a_{i+1}\),再在原 ...

  7. Python的动态语言特性; __slots__属性

    python是动态语言 1. 动态语言的定义 动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用.它是一类 在运行时可以改变其结构的语言 :例如新的函数.对象.甚至代码可以被 ...

  8. rinted端口转发

    https://www.cnblogs.com/linuxk/p/10075803.html 阿里云Redis外网转发访问   1.前提条件 如果您需要从本地 PC 端访问 Redis 实例进行数据操 ...

  9. 【剑指Offer】删除链表中重复的结点 解题报告(Python)

    [剑指Offer]删除链表中重复的结点 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interview ...

  10. 菜鸟物流的运输网络(计蒜客复赛F)

    菜鸟物流有自己的运输网络,网络中包含 nn 个城市物流集散中心,和 mm 对城市之间的运输线路(线路是双向的).菜鸟物流允许淘宝卖家自行确定包裹的运输路径,但只有一条限制规则:不允许经过重复的城市.淘 ...