如何在Ubuntu 14.04上安装和配置Postfix作为仅发送的SMTP服务器

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

介绍

Postfix 是一个 MTA(Mail Transfer Agent),用于发送和接收电子邮件的应用程序。在本教程中,我们将安装和配置 Postfix,以便它只能被本地应用程序使用 - 也就是说,那些安装在与 Postfix 相同的服务器上的应用程序。

为什么要这样做?

如果您已经在使用第三方电子邮件提供商来发送和接收电子邮件,那么您当然不需要运行自己的邮件服务器。但是,如果您管理一台云服务器,在该服务器上安装了需要发送电子邮件通知的应用程序,那么运行本地的、仅用于发送的 SMTP 服务器是使用第三方电子邮件服务提供商或运行完整的 SMTP 服务器的良好替代方案。

一个发送电子邮件通知的应用程序的示例是 OSSEC,它将向任何配置的电子邮件地址发送电子邮件警报(请参阅《在 Ubuntu 14.04 上安装和配置 OSSEC 安全通知》)。尽管 OSSEC 或类似的任何其他应用程序可以使用第三方电子邮件提供商的 SMTP 服务器发送电子邮件警报,但它也可以使用本地(仅发送)SMTP 服务器。

这就是您将在本教程中学习如何做的内容:如何安装和配置 Postfix 作为仅发送的 SMTP 服务器。

注意: 如果您的用例是从服务器接收单个地址的通知,那么将电子邮件标记为垃圾邮件并不是一个重要的问题,因为您可以将其列入白名单。

如果您的用例是向潜在的站点用户发送电子邮件,比如消息板注册的确认电子邮件,那么您绝对应该执行步骤 5,这样您服务器的电子邮件更有可能被视为合法。如果您仍然遇到服务器的电子邮件被标记为垃圾邮件的问题,您将需要自行进行进一步的故障排除。

先决条件

请完成以下先决条件。

  • Ubuntu 14.04 Droplet
  • 完成初始设置。这意味着您应该拥有一个带有 sudo 权限的标准用户帐户
  • 拥有一个有效的域名,比如 example.com,指向您的 Droplet
  • 服务器的主机名应与此域名或子域名匹配。您可以通过在命令提示符下输入 hostname 来验证服务器的主机名。输出应与您在创建 Droplet 时给出的名称相匹配,比如 example.com

如果所有先决条件都已满足,那么您现在已经准备好进行本教程的第一步了。

步骤 1 — 安装 Postfix

在这一步中,您将学习如何安装 Postfix。安装 Postfix 和其他用于测试电子邮件的程序的最有效方法是通过输入以下命令来安装 mailutils 软件包:

sudo apt-get install mailutils

安装 mailutils 也会导致安装 Postfix,以及一些其他 Postfix 运行所需的程序。在输入该命令后,您将看到类似以下输出:

The following NEW packages will be installed:
guile-2.0-libs libgsasl7 libkyotocabinet16 libltdl7 liblzo2-2 libmailutils4 libmysqlclient18 libntlm0 libunistring0 mailutils mailutils-common mysql-common postfix ssl-cert0 upgraded, 14 newly installed, 0 to remove and 3 not upgraded.
Need to get 5,481 kB of archives.
After this operation, 26.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]

按 ENTER 键进行安装。在安装过程的最后,您将看到一个窗口,其外观与下面的图像完全相同。默认选项是 Internet Site。这是本教程推荐的选项,因此按 TAB 键,然后按 ENTER 键。

!从菜单中选择 Internet Site,然后按 TAB 键选择 ,然后按 ENTER 键

之后,您将看到另一个窗口,其外观与下面的图像相同。System mail name 应与您在创建 Droplet 时分配给它的名称相同。如果显示的是子域名,比如 mars.example.com,请将其更改为 example.com。完成后,按 TAB 键,然后按 ENTER 键。

!输入您的域名,然后按 TAB 键选择 ,然后按 ENTER 键

安装成功后,继续进行第 2 步。

步骤 2 — 配置 Postfix

在这一步中,您将学习如何配置 Postfix,以便它只处理来自运行它的服务器的电子邮件发送请求,也就是说,只能来自 localhost。为了实现这一点,需要将 Postfix 配置为仅在 loopback 接口 上监听,这是服务器用于内部通信的虚拟网络接口。要进行更改,使用 nano 编辑器打开主 Postfix 配置文件。

sudo nano /etc/postfix/main.cf

打开文件后,向下滚动,直到看到以下代码块中显示的条目。

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

将读取 inet_interfaces = all 的行更改为 inet_interfaces = loopback-only。完成后,文件的相同部分现在应该如下所示:

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only

您也可以使用 localhost 替换 loopback-only,这样修改后的部分也可以如下所示:

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = localhost

编辑文件后,保存并关闭它(按下 CTRL+X,然后按 Y,然后按 ENTER)。之后,通过输入以下命令重新启动 Postfix:

sudo service postfix restart

步骤 3 —— 测试 SMTP 服务器是否能发送邮件

在这一步中,您将了解如何测试 Postfix 是否能够向任何外部电子邮件账户发送邮件。您将使用 mail 命令,该命令是 Step 1 中安装的 mailutils 软件包的一部分。

要发送测试邮件,请输入:

echo "This is the body of the email" | mail -s "This is the subject line" user@example.com

在进行您自己的测试时,您可以使用原样的正文和主题行文本,也可以根据自己的喜好进行更改。但是,在 user@example.com 的位置,请使用有效的电子邮件地址,其中域部分可以是 gmail.comfastmail.comyahoo.com 或您使用的任何其他电子邮件服务提供商。

现在检查您发送测试消息的电子邮件地址。

您应该在收件箱中看到该消息。如果没有,请检查您的垃圾邮件文件夹。

注意: 使用此配置,您发送的测试邮件中 From 字段的地址将是 sammy@example.com,其中 sammy 是您的 Linux 用户名,域部分是服务器的主机名。如果您更改用户名,From 地址也将更改。

步骤 4 —— 转发系统邮件

我们要设置的最后一件事是转发,以便您可以将发送到系统上的 root 邮件转发到您的个人外部电子邮件地址。

要配置 Postfix,使系统生成的邮件将发送到您的电子邮件地址,您需要编辑 /etc/aliases 文件。

sudo nano /etc/aliases

在默认安装的 Ubuntu 14.04 上,文件的完整内容如下所示:

# See man 5 aliases for format
postmaster:    root

通过该设置,系统生成的邮件将发送到 root 用户。您要做的是编辑它,以便将这些邮件重定向到您的电子邮件地址。为此,请编辑文件,使其如下所示:

# See man 5 aliases for format
postmaster:    root
root:          sammy@example.com

sammy@example.com 替换为您的个人电子邮件地址。完成后,保存并关闭文件。要使更改生效,请运行以下命令:

sudo newaliases

您现在可以通过以下命令向 root 账户发送电子邮件来测试它是否有效:

echo "This is the body of the email" | mail -s "This is the subject line" root

您应该会在您的电子邮件地址收到该邮件。如果没有,请检查您的垃圾邮件文件夹。

(可选)步骤 5 —— 保护您的域免受垃圾邮件的侵害

在这一步中,您将获得一些文章的链接,以帮助您保护您的域免受被用于发送垃圾邮件的侵害。这是一个可选但强烈推荐的步骤,因为如果配置正确,这将使使用您域名作为发件人地址发送垃圾邮件变得困难。

进行这些额外的配置步骤还将使常见的邮件提供商更有可能将来自您服务器的邮件视为合法邮件,而不是标记为垃圾邮件。

  • 如何使用 SPF 记录防止欺骗和提高电子邮件可靠性
  • 如何在 Debian Wheezy 上安装和配置 DKIM 与 Postfix
  • 此外,请确保服务器的 PTR 记录与邮件服务器在发送消息时使用的主机名匹配。在 DigitalOcean,您可以通过在控制面板中更改 Droplet 的名称来更改 PTR 记录

尽管第二篇文章是为 Debian Wheezy 编写的,但相同的步骤也适用于 Ubuntu 14.04。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/40899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

室内效果图渲染要多久?

效果图的渲染时间并非固定,一张效果图的渲染时间可能从几分钟到几小时不等,甚至对于非常复杂和高质量的渲染任务,可能需要几天的时间。影响效果图渲染时间的因素有很多,今天就给大家介绍一下。 电脑配置 一、电脑配置 CPU和GPU…

TensorFlow安装CPU版本和GPU版本

文章目录 前言一、TensorFlow安装CPU版本1.新建虚拟环境2.激活虚拟环境3.下载tensorflow4.验证是否下载成功 二、TensorFlow安装GPU版本1.新建虚拟环境2.激活虚拟环境3.安装tensorflow-gpu4.验证是否下载成功 前言 下载的Anaconda是Anaconda3-2024.02-1-Windows-x86_64版本 一…

Java实现图片的垂直方向拼接

利用Java实现了任意两张图片的垂直方向拼接,不限制大小类型,可直接用于生产。 实现任意两张图片的垂直方向拼接,对于过小图片实现了放大,保证了图片拼接后的清晰度。 对于高度大于宽度的图片,进行了-90度旋转。 impo…

Python缓存利器:cachetools库详解

Python缓存利器:cachetools库详解 1. cachetools简介2. 安装3. 基本概念3.1 LRU Cache (Least Recently Used)3.2 TTL Cache (Time-To-Live)3.3 LFU Cache (Least Frequently Used) 4. 使用示例4.1 使用LRU Cache4.2 使用TTL Cache4.3 使用LFU Cache4.4 缓存装饰器 5. 进阶用法…

Python | Leetcode Python题解之第216题组合总和III

题目&#xff1a; 题解&#xff1a; class Solution:def combinationSum3(self, k: int, n: int) -> List[List[int]]:"""回溯法&#xff0c;对于当前k和n, 枚举元素"""def backtracking(k: int, n: int, ans: List[int]):if k 0 or n <…

django学习入门系列之第四点《案例 博客案例》

文章目录 container面板案例 博客案例往期回顾 container 堆叠到两边 <div class"container-fluid clearfix"><div class"col-sm-9">1</div><div class"col-sm-3">2</div> </div>放在中间 <div clas…

Linux网络服务面试题

1、查看一个网络接口的方法有哪些&#xff1f; ①查看目录/etc/sysconfig/network-scripts/下的网卡对应的配置文件ifcfg-ens33 ②ifconfig ens33 2、如何给一个网络接口设置多个IP地址&#xff1f; 临时配置&#xff1a;ifconfig ens33:1 IP地址 netmask 掩码 up …

机器人外呼相比人工外呼优势有哪些

机器人外呼相比人工外呼的优势主要体现在以下几个方面&#xff1a; 1. 自动化与效率​ - 机器人外呼能够自动拨打大量电话&#xff0c;极大提高了工作效率。例如&#xff0c;一个机器人一天可以打上千个电话&#xff0c;相比之下&#xff0c;人工外呼的数量会有限。 - 机器人可…

算法day02 回文 罗马数字转整数

回文 搞错了String类型的indexOf方法&#xff0c;理解成获取对应下标的值&#xff0c;实际上是在找对应值的下标。 4ms 耗时最少的方法尽量不会去调用jdk提供的方法&#xff0c;而是直接使用对应的数学逻辑关系来处理&#xff0c; 甚至用 代替equals方法。 罗马数字转整数 考…

学习笔记——动态路由——OSPF工作原理(SPF算法)

3、SPF算法 SPF算法(最短路径优先算法&#xff0c;也称Dijkstra算法)由荷兰科学家狄克斯特拉于1959年提出的。 SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离&#xff0c;每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图&#xff0c;该…

Go语言--函数类型、匿名函数和闭包

在Go语言中&#xff0c;函数也是一种数据类型&#xff0c;我们可以通过 type 来定义它&#xff0c;它的类型就是所有拥有相同的参数&#xff0c;相同的返回值的一种类型。 语法 通过type给函数类型起名&#xff0c;然后通过名字进行函数的调用 好处&#xff1a;多态 通过统…

python遍历目录下所有文件

python遍历目录下所有文件 方法1&#xff1a;使用os.walk()函数递归遍历目录下所有文件。方法2&#xff1a;使用os.scandir()函数遍历目录下所有文件。方法3&#xff1a;使用os.listdir()函数遍历目录下所有文件。方法4&#xff1a;使用glob模块遍历目录下所有文件。方法5&…

【大模型】大模型参数量与底层算力资源之间的关系

大模型参数量与底层算力资源之间的关系 大模型参数量与底层算力资源之间的关系引言一、大模型参数量的影响1.1 模型表达能力提升1.2 过拟合风险 二、底层算力资源的挑战2.1 计算资源需求2.2 存储与带宽瓶颈 三、估算模型所需算力资源3.1 基于参数量的估算3.2 考虑硬件效率3.3 实…

查询进程, 并且列出所在路径和端口号

ps -ef | grep port9| grep -v grep | awk {print $2} | while read pid; do # 获取启动目录 start_dir$(pwdx $pid 2>/dev/null | awk {for (i2; i<NF; i) printf "%s ", $i; print ""}) # 获取端口信息&#xff08;使用 ss 命令&#xff0…

【ssh】permission denied, please try again.

ssh执行scp操作时显示 permission denied, please try again. 1.确保被复制文件权限已开 chmod 777 file 2.如果仍未解决直接sudo sudo scp xxx xxx

信息安全驱动汽车行业快速向数字化转型

开发一款安全性良好的软件是困难的&#xff0c;它需要专业知识的积累以及对常见编程缺陷和规则的了解&#xff0c;例如检查输入范围、管理内存分配和回收、寻址字符串格式、避免悬空指针等等。通常情况下&#xff0c;编写安全代码与开发人员编写“流畅”代码的自然愿望形成了对…

【数据库】第7讲 关系数据模型(章节测验)

一. 单选题 1【单选题】下面对于关系的叙述中&#xff0c;不正确的是&#xff08;C&#xff09; A、关系中的每个属性是不可分解的B、在关系中元组的顺序是无关紧要的C、任意的一个二维表都是一个关系D、每一个关系只有一种记录类型 2【单选题】关系模型的完整性约束不包括&…

日本最新型高达式巨型机器人承担铁路维护任务

日本有制造现实生活中的高达式巨型机器人的历史&#xff0c;但它们往往是用于娱乐目的&#xff0c;而不是实际应用。不过&#xff0c;日本刚刚开始使用一个 40 英尺高的人形机器人来维护铁路线。 大约两年前&#xff0c;西日本铁路公司&#xff08;JR 西日本&#xff09;制造了…

【Unity】RPG2D龙城纷争(八)寻路系统

更新日期&#xff1a;2024年7月4日。 项目源码&#xff1a;第五章发布&#xff08;正式开始游戏逻辑的章节&#xff09; 索引 简介一、寻路系统二、寻路规则&#xff08;角色移动&#xff09;三、寻路规则&#xff08;角色攻击&#xff09;四、角色移动寻路1.自定义寻路规则2.寻…

[C++]——同步异步日志系统(2)

同步异步日志系统 一、 不定参函数1.1 不定参宏函数的使用1.2 C 语言中不定参函数的使用1.3 C不定参数使用 二、设计模式2.1 单列模式2.2 工厂模式2.3 建造者模式2.4 代理模式 在我们开发同步异步日志系统之前&#xff0c;需要了解一些相关的技术知识。 一、 不定参函数 在初学…