【发布时间】:2015-11-24 14:35:53
【问题描述】:
我正在尝试使用 libcurl 7.42.1 从 C++ 发送电子邮件。
我已经尝试过他们的示例程序 (http://curl.haxx.se/libcurl/c/smtp-mail.html),它可以构建、运行,但不起作用。
我尝试使用命令行 curl 来做同样的事情,但它表现出与 c++ 中的 libcurl 完全相同的行为(见下文)。 它挂了一段时间然后退出并出现错误(“响应读取失败”)。
我使用了 wireshark 来分析数据包交换,我可以看到,一旦 TCP 连接建立(SYN,SYN-ACK,ACK)我的端点不再发送任何数据包(它应该启动一个SMTP 会话)。
我做错了什么?
这是我使用的命令:
curl --url "smtp://smtp.mail.yahoo.com:465" --mail-from "test-curl" --mail-rcpt "bog2k3@gmail.com" --user "*****@yahoo.com:*****" --upload-file test.txt --verbose
【问题讨论】:
-
我刚刚发现使用端口 465 是问题的一部分。该端口用于通过 SSL 的 SMTP,我试图使用纯文本 SMTP。我切换到 25 端口,现在我的端点终于可以与服务器进行对话了。
-
问题是缺少您的 C++ 代码。请显示相关代码并说明确切的问题或错误。 “不起作用” 不是一个好的问题描述。另见How to create a Minimal, Complete, and Verifiable example。
-
@jww,我说我使用了示例程序(我链接了它),然后我说命令行出现了完全相同的问题,然后我详细描述了。