[Linux]如何配置mailutils郵件服務?

在自動化運維工作中,利用工具主動發出事務處理結果的mail是一項必備工作,例如資料庫的自動備份工作是否已順利完成,某個微服務重新啟動原因的log日誌等等。而在配置郵件工具中,相較於之前使用的mailx,這次使用的mailutils較為完整,除了內建了完整的 POP3 和 IMAP收信功能,其也內建 SMTP 發信功能,包含自動配置Postfix(內建MTA),配置過程簡化許多。(OS: 說到底就是解決一個重要症狀,"懶")

mailutils郵件服務配置

1.安裝 mailutils

在伺服器的終端命令列,執行下列安裝命令:
sudo apt update
sudo apt install mailutils

過程中,選擇Postfix作為郵件傳送代理(MTA)即可,如此即可利用該台伺服器來發送郵件。

2.配置MTA 郵件代理(Postfix)

a.選擇MTA類型

當安裝過程中需要選擇MTA郵件代理,選擇Postfix即可,並選擇下列配置:

  • 選擇 Internet Site
  • 系統郵件名稱設置為主機名
  • 其他選項保持默認即可
b.驗證 Postfix 是否運行

檢查 Postfix 服務狀態:
sudo systemctl status postfix

如果服務正在運行,則說明 Postfix 已配置完成。

郵件發送測試

在伺服器的終端命令列中,執行下列命令來測試郵件是否可順利發送:
**echo "這是一封測試郵件" | mail -s "test"**receiver-email@example.com -aFrom:info@rpi4.com

receiver-email@example.com是接收郵件的郵件地址。上面指令的 -aFrom: 選項是用來指定寄件人的郵件位址(info@rpi4.com),可以任意的指定,檢查收件箱確認郵件是否到達。

若要夾帶檔案(a.txt),可用下列命令來測試:
echo "這是一封測試郵件" | mail -s "test" -A /home/raspberry/a.txt receiver-email@example.com -aFrom:info@rpi4.com

若經上述測試可順利收發郵件,後續僅需要這段指令整合到自己的腳本中,即可順利收到通知郵件,若應用於MySQL自動備份工作,可設定crontab和搭配腳本來處理,腳本片段範例和參考結果如下。
#!/bin/bash
# 假設該腳本為備份失敗時發送通知的腳本片段
EMAIL_RECIPIENT="
EMAIL_RECIPIENT="receiver-email@example.com"
# 假設資料庫備份出現錯誤
if [ ? -ne 0 ]; then** **echo "資料表備份失敗!" | mail -s "MySQL Table Backup Error" "EMAIL_RECIPIENT" -aFrom:info@rpi4.com
exit 1
fi

相关推荐
康不坦丁1 天前
MySQL 的 order by 简化(使用列序号和列别名排序)
后端·mysql
liweiweili1261 天前
Linux 中查询指定目录下查找包含特定文本的文件
linux·运维·chrome
YFLICKERH1 天前
【Linux系统】安装包 deb | rpm
linux·运维·安装包
CodeByV1 天前
【Linux】线程从内核到实战:本质、控制逻辑与封装指南
linux
Xの哲學1 天前
Linux设备管理:从内核驱动到用户空间的完整架构解析
linux·服务器·算法·架构·边缘计算
('-')1 天前
《从根上理解MySQL是怎样运行的》第二十五章笔记
数据库·笔记·mysql
尽兴-1 天前
问题记录:数据库字段 `CHAR(n)` 导致前端返回值带空格的排查与修复
前端·数据库·mysql·oracle·达梦·varchar·char
Cat God 0071 天前
MySQL-查漏补缺版(六:MySQL-优化)
android·数据库·mysql
繁华似锦respect1 天前
C++ unordered_map 底层实现与详细使用指南
linux·开发语言·c++·网络协议·设计模式·哈希算法·散列表
大聪明-PLUS1 天前
在 C++ 中开发接口类
linux·嵌入式·arm·smarc