使用 telnet 或 netcat 發送帶有附件的電子郵件

使用 telnet 或 netcat 發送帶有附件的電子郵件

我經常使用telnet或netcat連接smtp伺服器發送電子郵件作為測試。

有誰知道如何使用 telnet 或 netcat 發送電子郵件但還要附上一份文件?可能有更好的方法,但我還是想知道:-)

我很高興有一個使用一點 bash shell 來實現目標的解決方案,但不想使用任何其他工具...

答案1

好吧,所以以每個人的評論為起點,我想出了這個愚蠢的混亂:-) ...

{ 
    sleep 5; 
    echo 'ehlo';
    sleep 3;
    echo 'MAIL FROM:<[email protected]>';
    sleep 3; 
    echo 'RCPT TO: <kyle@test_dest.com>';
    sleep 3;
    echo 'DATA';
    sleep 3;
    echo -e 'To:[email protected]\nMIME-Version: 1.0 (mime-construct 1.9)\nContent-Type: application/zip\nContent-Transfer-Encoding: base64\n\n';
    dd if=/dev/urandom bs=4 count=10 2>/dev/null | openssl base64;
    echo '.';
} | telnet mx1.testdest.com 25

答案2

噁心。您必須對附件進行 Base64 編碼並建立 MIME 標頭。

與其每次「即時」產生一條新訊息,不如從「真實」電子郵件程式中透過電子郵件給自己發送非常短的範例訊息(利用編寫該訊息的人所做的工作來將附件發送給自己)可能會更容易正確的編碼並建立 MIME 標頭)。

將該訊息保存到帶有標頭的文字檔案中(當然,刪除傳輸標頭),然後將其修改/複製/貼上到 telnet 或 netcat 中以供將來的會話使用。

答案3

雖然手動測試 SMTP 伺服器是可能且可行的,但使用為此設計的工具會容易得多。

這篇文章解釋了 SWAKS。 swaks 是為 smtp 伺服器測試而設計的。支援附件、身份驗證和加密!

答案4

Telnet - 發送帶有多個附件的電子郵件

貓附件.zip | Base64 > zip.txt
貓附件.pdf | Base64 > pdf.txt

# 內容類型:文字/csv; name="$FILE" # 對於 CSV 文件
# 內容類型:application/x-msdownload; name="$FILE" # 執行檔
# 內容類型:text/xml; name="$FILE" # 對於 xml 檔案或嘗試 application/xml

telnet smtp.server.dom 25

直升機
郵件來自:[電子郵件受保護]
RCPT 至:[電子郵件受保護]
數據
主題:測試電子郵件
從:[電子郵件受保護]
到:[電子郵件受保護]
MIME 版本:1.0
內容類型:多部分/混合;邊界=“X-=-=-=-文字邊界”

--X-=-=-=-文字邊界
內容類型:文字/純文字

將您的留言放在這裡...

--X-=-=-=-文字邊界
內容類型:應用程式/zip;名稱=“檔案.zip”
內容傳輸編碼:base64
內容處置:附件;檔案名稱=“檔案.zip”

UEsDBBQAAAAIAG1+zEoQa...複製/貼上 zip.txt

--X-=-=-=-文字邊界
內容類型:文字/pdf;名稱=“文件.pdf”
內容傳輸編碼:base64
內容處置:附件;文件名=“文件.pdf”

UEsDBBQAAAAIAG1+zEoQa...複製/貼上 pdf.txt

--X-=-=-=-文字邊界

辭職

相關內容