带有openssl:光标的GMAIL SMTP在<CRLF>。<CRLF>之后闪烁,没有得到排队等待发送的250 OK

我正在尝试使用openssl从命令行发送邮件。 我可以通过端口465连接到gmail的smtp服务器,并且validation成功。 MAIL FROM和rcpt也能正常工作。 接下来,当我input数据时,它给了我一个354,这也是非常好的。 在我input的数据如下:

FROM: <[email protected]> To: <[email protected]> // I am sending and receiving the mail to my account itself for test purposes Subject: test hello! . 

现在出现了问题,我进入后。 ,光标只是闪烁,我没有得到250 OK,排队响应。

请帮助!

我正在尝试所有这些在Ubuntu 9.10。

呃…但读完这个话题后,花了我几小时才知道!

在此张贴我的解决scheme

在互联网上的任何地方,他们告诉你,你应该使用-crlf开关来初始连接命令 – 至于我所做的。

但是,这只适用于Linux / Unix! 在Windows上,您不能使用此开关!

的。 需要单独在一条线上,然后是另一条回车…

即

 你好!
 。

(这可能是serverfault的格式,搞砸了,但检查。)

在代码中…它应该是<cr>。<cr>或使用crlf而不是仅仅一个cr。

我遇到了这个问题(只是与Gmail),看到了这个问题。 我终于明白,build立一个CRLF并发送它而不是'\ n'解决了这个问题。

 char eol[3]; eol[0] = '\r'; eol[1]= '\n'; eol[2] = '\0'; string crlf = string(eol); string endit(crlf + '.' + crlf); send(socket_id, endit.c_str(), endit.length(), 0) < 0);