2017-05-29 65 views
0

我嘗試從我的ESXI服務器發送郵件,但出於某種原因我不知道我收到了錯誤。用netcat發送郵件

這是我用來發送電子郵件的命令:

nc -Cv smtp.relay.us 25 < /vmfs/volumes/Vcloud-Datatstore/Tools/mail.txt 

這是文件mail.txt:

HELO smtp.relay.us 
MAIL FROM:<[email protected]> 
RCPT TO:<[email protected]> 
DATA 
From: [Log Server] <[email protected]> 
To: <[email protected]> 
Date: Mon, 29 May 2017 20:25:38 +0000 
Subject: Resultat de la restauration de GED 
blabla 
blabla 

. 

我得到這些輸出:

220-***************************** 
220 ***************************** 
250 smtp.relay.us 
250 2.1.0 Ok 
250 2.1.5 Ok 
503 5.5.0 <DATA>: Data command rejected: Improper use of SMTP command pipelining 
502 5.5.2 Error: command not recognized 
... 
... 

我不明白我做錯了什麼。非常感謝提前。

回答

1

最後讓它工作。

我不知道爲什麼,但一旦達到郵件的數據部分,nc一次發送很多信息。甚至用-i選項在每行之間引入間隔也沒有幫助。

所以這是我如何製造它的工作原理(由GhettoVCB腳本大量的啓發):在mail.txt

再見

cat "mail.txt" |while read L; do sleep "1"; echo "$L"; done | "nc" -C -v "smtp.relay.us" "25" 

沒有改變

1

感謝這個!

這救了我,雖然這是你不應該做的事情。只有在使用'nc'時纔會發生這種情況,我不得不在多個RHEL服務器上使用'nc';更新的Debian變體上的'ncat'就像廣告一樣工作。

'NC'不能開箱即用。

任何人都知道爲什麼?

+0

高興它幫助別人。 – Processor