[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

相关推荐
多客:duokelijie25 分钟前
代练订单系统选型思路:跨品类游戏接入、订单分层管理、自动结算逻辑拆解!
数据库·mysql·微信小程序·前端框架·uni-app·php·持续部署
GeW31 分钟前
新质生产力Linux和数据库为啥这么关键
linux
番茄啊1 小时前
linux 开启xftp连接
linux·运维·服务器
CodeYp20191 小时前
第1讲:Linux 基础指令
linux·指令
IT利刃出鞘2 小时前
Docker Compose--解决修改配置后不生效的问题
运维·docker·容器
李松桃2 小时前
基于端口号的服务配置
linux·nginx-核心模块配置
Lsetea2 小时前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
Julien20043 小时前
管理机密(一)
运维·服务器·开发语言·学习方法
十碗饭吃不饱3 小时前
后端运维:网络联通、进程查询、Java服务启动脚本
java·运维·网络
FluxDB3 小时前
FluxDB vs DBX vs DBeaver:GPUI、Tauri、Eclipse 三种技术栈实测
数据库·mysql