Smtp

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

  • June 13, 2017

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

有誰知道您將如何使用 telnet 或 netcat 發送電子郵件但也附上文件?可能有更好的方法,但我仍然想知道:-)

我會對使用一點 bash shell 來實現目標的解決方案感到滿意,但不想使用任何其他工具……

好的,所以以每個人的評論為起點,我想出了這個愚蠢的爛攤子:-) …

{ 
   sleep 5; 
   echo 'ehlo';
   sleep 3;
   echo 'MAIL FROM:<Test@test.com>';
   sleep 3; 
   echo 'RCPT TO: <kyle@test_dest.com>';
   sleep 3;
   echo 'DATA';
   sleep 3;
   echo -e 'To:kyle@testdest.com\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

伊克。您將不得不對附件進行 base64 編碼並創建 MIME 標頭。

與其每次都“即時”生成一條新消息,不如從“真實”電子郵件程序中給自己發一封非常簡短的範例消息可能會更容易(利用編寫它的人所做的工作來放置附件)進入正確的編碼並創建 MIME 標頭)。

將該消息保存到帶有標頭的文本文件中(當然要刪除傳輸標頭),然後只需將其修改/複製/粘貼到 telnet 或 netcat 以供將來的會話使用。

引用自:https://serverfault.com/questions/38919