2017-05-29 62 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