目錄
- 前言
- 鑒賞代碼
- 總結
前言
很多時候我們需要發送郵件,比如定時任務,比如郵件驗證碼等等,
各大編程語言都可以實作發送郵件功能,但還是太麻煩了,所以通過tcpdump抓包發現smtp發送郵件原理還是很簡單嘛,
所以就想著能不能通過shell搞定,這樣在Linux平臺下就很通用,不必準備各種安裝環境啥的,
鑒賞代碼
該腳本需要安裝
sudo apt-get install expect telnet這兩個工具,一個負責tcp連接到smtp服務器,一個負責收發指令,
執行./mail.sh [email protected] password [email protected] sendMsg 123456命令即可發送一封郵件,
需要注意的是現在各大郵件服務器發送郵件的密碼是授權碼,而不是登錄郵箱密碼,
可以試著使用編程語言發送復雜郵件,通過tcpdump抓包分析發送郵件的具體機制,自行模擬一下下就ok了,
#!/bin/bash
user=$1
pass=$2
to=$3
subject=$4
data=https://www.cnblogs.com/janbar/p/$5
username=$(echo -n $user | base64)
password=$(echo -n $pass | base64)
expect <
總結
該腳本解決了我的發送郵件驗證碼的小需求,以前都是通過編程語言去實作,有些有依賴,各種準備環境也麻煩,
而使用上述腳本可以靈活的滿足各種需求,需要改動時直接修改shell腳本就ok了,媽媽再也不用擔心我發郵件麻煩了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/240388.html
標籤:其他
