[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

相关推荐
jiayong232 小时前
DevOps体系详解01-核心概念与价值
运维·devops
智能运维指南3 小时前
现代DevOps平台核心能力要求:从工具整合到价值流智能
devops·devops平台·devops系统·devops厂商·研运一体化
jiayong233 小时前
DevOps体系详解02-技术架构与工具链
运维·架构·devops
液态不合群3 小时前
[特殊字符] MySQL 覆盖索引详解
数据库·mysql
pride.li3 小时前
开发板和Linux--nfs服务挂载
linux·运维·服务器
looking_for__3 小时前
【Linux】应用层协议
linux·服务器·网络
BB_CC_DD4 小时前
Linux截图工具(ubuntu18.04+flameshot(火焰截图))
linux
云泽8085 小时前
不止是命令:Linux 高频指令实战 + 芯片架构底层逻辑
linux·运维·服务器
j_xxx404_5 小时前
Linux:基础IO
linux·运维·服务器
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [drivers][i2c]i2c-dev
linux·笔记·学习