[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

相关推荐
博、、9 分钟前
从零构建智慧场馆解决方案:架构设计与开发实践
大数据·运维
敢敢是只喵i18 分钟前
给现有业务系统接 AI 助手,入口怎么选?网页聊天、自动化任务与本地 Agent 对比
运维·人工智能·ai·开源·自动化·安全架构
爱吃火鸡面呀1 小时前
MySQL DQL 子查询详解:从标量、列、行到表子查询的完整实战
大数据·数据库·mysql
章老师说1 小时前
BFE v1.8.6 正式发布:AI 网关计费精细化、Claude 协议与会话亲和性升级
运维·人工智能·ai·负载均衡·ai-native
Brilliantwxx2 小时前
【Linux】 进程(10) 进程控制深度解析:创建、终止与等待
linux·运维·服务器·c语言·开发语言·网络
betazhou2 小时前
Apache Seatunnel 抽取Oracle数据库测试
数据库·oracle·apache·seatunnel
欧米欧2 小时前
Linux基础指令上
linux·运维·服务器
爱喝水的鱼丶3 小时前
SAP-ABAP:BAdI 上下文数据获取与交互:标准数据读取与修改逻辑实现
运维·性能优化·sap·abap·增强·经验交流·badi
ARM|X86+FPGA工业主板厂家3 小时前
基于嵌入式 GPU 的智能服务机器人
linux·运维·arm开发·fpga开发·机器人
sulikey4 小时前
Linux 粘滞位(Sticky Bit)完全指南:为什么共享目录需要“防删除“?
linux·服务器