通過SMTP協議實現Linux郵件發送配置指南

一、環境準備與基礎配置

1. SMTP服務開通(以qq郵箱為例)

  1. 登錄qq郵箱網頁端,進入「設置」-「POP3/SMTP/IMAP」

  2. 開啟「SMTP服務」并獲取16位授權碼(替代郵箱密碼使用)

  3. 記錄關鍵參數:

    • SMTP服務器地址:smtp.qq.com

    • 安全端口號:465

    • 加密類型:SSL


二、服務器端口驗證

1. 網絡連通性檢測

# 使用nmap掃描開放端口
nmap -Pn smtp.qq.com -p 25,465,587# 快速驗證SSL端口
nc -zv smtp.qq.com 465

典型輸出

2. 端口選擇建議

端口協議安全性適用場景
25明文SMTP不推薦使用
465SSL加密推薦配置
587STARTTLS兼容性要求場景

三、郵件客戶端配置

1. mail.rc文件配置

編輯配置文件/etc/mail.rc添加以下參數:

# SMTP服務基礎配置
set from="發件人 <yourname@qq.com>"
set smtp="smtps://smtp.qq.com:465"
set smtp-auth-user="yourname@qq.com"  #須與首行郵件地址一致
set smtp-auth-password="16位授權碼"
set smtp-auth=login# SSL證書配置
set ssl-verify=ignore
set nss-config-dir=/etc/mail_certs  #需手動配置,詳見--四、證書信任配置

2. 服務重啟與狀態檢查

systemctl restart postfix
systemctl status postfix -l

四、證書信任配置

1. 證書目錄創建

mkdir -p /etc/mail_certs
cd /etc/mail_certs

2. SSL證書獲取與安裝

# 提取郵件服務器證書
openssl s_client -connect smtp.qq.com:465 \| sed -n '/BEGIN CERTIFICATE/,/END CERTIFICATE/p' > qq.crt# 添加證書到信任列表
certutil -A -n "SMTP_qq_SSL" -t "P,P,P" -d . -i qq.crt

參數解析

  • -A:添加證書

  • -n:證書標識名稱

  • -t:信任級別(P=受信任的CA)

  • -d:證書存儲目錄


五、郵件發送驗證

1. 命令行發送測試

# 發送文本內容
echo "郵件正文" | mail -s "測試主題" recipient@example.com# 發送文件內容
echo -e "Subject: Test Mail\nThis is the mail body" > /tmp/mail.txt
mailx -v -s "測試主題" recipient@example.com < /tmp/mail.txt

2. 日志查看與排錯

tail -f /var/log/maillog
# 成功發送的關鍵詞:status=sent (250 Message accepted)

六、安全增強建議

1. 權限管理

chmod 600 /etc/mail.rc          # 配置文件權限
chown root:root /etc/mail_certs # 證書目錄歸屬

2. 定期維護

  • 每90天更新授權碼

  • 使用certutil -L -d /etc/mail_certs檢查證書有效期

  • 清理舊日志:logrotate /etc/logrotate.d/maillog

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/81559.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81559.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81559.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

react中安裝依賴時的問題 【集合】

目錄 依賴升級/更新 1、 npm install --save-dev 與 npm install 的區別 1. ?安裝位置&#xff08;依賴類型&#xff09;? 2. ?package.json 中的區別? 3. ?示例 4. ?何時使用哪種方式? 2、npm install 和 yarn add 有什么不一樣嗎 ?命令語法?&#xff1a; …

Coze 實戰教程 | 10 分鐘打造你的AI 助手

> 文章中的 xxx 自行替換&#xff0c;文章被屏蔽了。 &#x1f4f1; 想讓你的xxx具備 AI 對話能力&#xff1f;本篇將手把手教你&#xff0c;如何用 Coze 平臺快速構建一個能與用戶自然交流、自動回復提問的 xxx助手&#xff0c;零代碼、超高效&#xff01; &#x1f4cc;…

【Spring Cloud Gateway】Nacos整合遇坑記:503 Service Unavailable

一、場景重現 最近在公司進行微服務架構升級&#xff0c;將原有的 Spring Cloud Hoxton 版本升級到最新的 2021.x 版本&#xff0c;同時使用 Nacos 作為服務注冊中心和配置中心。在完成基礎框架搭建后&#xff0c;我使用 Spring Cloud Gateway 作為API 網關&#xff0c;通過 N…

寶塔面板屏蔽垃圾搜索引擎蜘蛛和掃描工具的辦法

首先進入寶塔面板&#xff0c;文件管理進入/www/server/nginx/conf目錄&#xff0c;新建空白文件kill_bot.conf。然后將以下代碼保存到當前文件中。 #禁止垃圾搜索引擎蜘蛛抓取if ($http_user_agent ~* "CheckMarkNetwork|Synapse|Nimbostratus-Bot|Dark|scraper|LMAO|Ha…

Docker拉取鏡像報錯Error response from daemon: Get “https://registry-1.docker.io/v2/“

記一次Docker拉取鏡像的報錯 使用docker拉取鏡像時&#xff0c;出現報錯 [rootcentos8 ~]# sudo docker pull mysql:8.0 Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.T…

Ansible模塊——文件內容修改

修改文件單行內容 ansible.builtin.lineinfile 可以按行修改文件內容&#xff0c;一次修改一行&#xff0c;支持正則表達式。 選項名 類型 默認值 描述 attributesstrnull 設置目標文件的 Linux 文件系統屬性&#xff08;attribute bits&#xff09;&#xff0c;作用類似于…

如何用PDO實現安全的數據庫操作:避免SQL注入

如何用PDO實現安全的數據庫操作&#xff1a;避免SQL注入 在現代Web應用程序中&#xff0c;數據庫操作是核心功能之一。然而&#xff0c;SQL注入是一種常見的安全漏洞&#xff0c;攻擊者可以通過惡意輸入來操控數據庫&#xff0c;從而獲取敏感信息或破壞數據。使用PHP的PDO&…

使用大語言模型從零構建知識圖譜(中)

從零到一&#xff1a;大語言模型在知識圖譜構建中的實操指南 ©作者|Ninja Geek 來源|神州問學 還沒有看過上篇的讀者可以閱讀《使用大語言模型從零構建知識圖譜&#xff08;上&#xff09;》了解整個系列的內容 通過創建一個自定義流程來自動上傳業務數據 在這一節&#…

pycharm連接github(詳細步驟)

【前提&#xff1a;菜鳥學習的記錄過程&#xff0c;如果有不足之處&#xff0c;還請各位大佬大神們指教&#xff08;感謝&#xff09;】 1.先安裝git 沒有安裝git的小伙伴&#xff0c;看上一篇安裝git的文章。 安裝git&#xff0c;2.49.0版本-CSDN博客 打開cmd&#xff08;…

uniapp在APP上如何使用websocket--詳解

UniApp 在 APP 端如何使用 WebSocket以及常見問題 一、WebSocket 基礎概念 WebSocket 是一種在單個TCP連接上進行全雙工通信的協議&#xff0c;適用于實時數據傳輸場景&#xff08;如聊天室、實時游戲、股票行情等&#xff09;。 與傳統HTTP對比 特性WebSocketHTTP連接方式…

物聯網賦能7×24H無人值守共享自習室系統設計與實踐!

隨著"全民學習"浪潮的興起&#xff0c;共享自習室市場也欣欣向榮&#xff0c;今天就帶大家了解下在物聯網的加持下&#xff0c;無人共享自習室系統的設計與實際方法。 一、物聯網系統整體架構 1.1 系統分層設計 層級技術組成核心功能用戶端微信小程序/H5預約選座、…

【Linux】ELF與動靜態庫的“暗黑兵法”:程序是如何跑起來的?

目錄 一、什么是庫&#xff1f; 1. C標準庫&#xff08;libc&#xff09; 2. C標準庫&#xff08;libstdc&#xff09; 二、靜態庫 1. 靜態庫的生成 2. 靜態庫的使用 三、動態庫 1. 動態庫的生成 2. 動態庫的使用 3. 庫運行的搜索路徑。 &#xff08;1&#xff09;原因…

滲透測試流程-中篇

#作者&#xff1a;允砸兒 #日期&#xff1a;乙巳青蛇年 四月廿一&#xff08;2025年5月18日&#xff09; 今天筆者帶大家繼續學習&#xff0c;網安的知識比較雜且知識面很廣&#xff0c;這一部分會介紹很多需要使用的工具。會用各種工具是做網安的基礎&#xff0c;ok咱們繼續…

[創業之路-358]:從歷史輪回到制度躍遷:中國共產黨創業模式的超越性密碼

人類文明的演進如同一條螺旋上升的階梯&#xff0c;從原始社會的公有制到資本主義私有制的巔峰&#xff0c;再到社會主義對公有制的重構&#xff0c;每一次制度迭代都伴隨著對前序文明的揚棄。中國共產黨自誕生之日起&#xff0c;便以“為人類求解放”為使命&#xff0c;在革命…

NLP基礎

目錄 一、NLP 概述和應用 &#xff08;一&#xff09;NLP 的定義與演進歷程 &#xff08;二&#xff09;NLP 的多元應用領域 二、文本預處理技術 &#xff08;一&#xff09;文本獲取與編碼轉換 &#xff08;二&#xff09;文本清洗&#xff1a;去除雜質的精細打磨 &…

【數據結構與算法】ArrayList 與順序表的實現

目錄 一、List 接口 1.1 List 接口的簡單介紹 1.1 常用方法 二、順序表 2.1 線性表的介紹 2.2 順序表的介紹 2.3 順序表的實現 2.3.1 前置條件:自定義異常 2.3.2 順序表的初始化 2.3.2 順序表的實現 三、ArrayList 實現類 3.1 ArrayList 的兩種使用方式 3.2 Array…

Linux518 YUM源倉庫回顧(需查)ssh 服務配置回顧 特定任務配置回顧

計劃配倉庫YUM源 為什么我在/soft文件夾下 使用yum install --downloadonly --downloaddir /soft samba 為什么文件夾下看不到samba文件 exiting because “Download Only” specified 計劃過 計劃配SSH 參考 ok了 計劃配置特定任務解決方案 code: 兩端先配好網絡 測試好s…

如何完美安裝GPU版本的torch、torchvision----解決torch安裝慢 無法安裝 需要翻墻安裝 安裝的是GPU版本但無法使用的GPU的錯誤

聲明&#xff1a; 本視頻靈感來自b站 如何解決所述問題 如何安裝對應版本的torch、torchvison 進入pytorch官網 進入歷史版本 這里以cuda11.8 torch 2.1.0為例演示 根據文檔找到要安裝的torch、torchvison版本 但不是使用命令行直接安裝 命令行直接安裝可能面臨著 安裝慢…

【iOS(swift)筆記-9】WKWebView無法訪問網絡

對于iOS 在info中添加App Transport Security Settings&#xff0c;然后在App Transport Security Settings里添加Allow Arbitrary Loadstrue 對于macOS 除了上面的操作&#xff0c;還需在項目信息的App Sandbox里有個Network打鉤選項

buck變換器的simulink/matlab仿真和python參數設計

什么是Buck電路? BUCK電路是一種降壓斬波器&#xff0c;降壓變換器輸出電壓平均值Uo總是小于輸出電壓UD。通常電感中的電流是否連續&#xff0c;取決于開關頻率、濾波電感L和電容C的數值。BUCK也是DC-DC基本拓撲&#xff0c;或者稱為電路結構&#xff0c;是最基本的DC-DC電路…