【发布时间】:2017-05-27 00:44:49
【问题描述】:
我想使用 curl 发送电子邮件。我不想使用 libcurl,所以我尝试使用 .exe 文件。这是我正在使用的代码:
QString cmd = "curl smtp://smtp.gmail.com:587 -v --mail-from \"xxxxxxxxxxx@gmail.com\" --mail-rcpt \"xxxxxxxxxxxxxx@gmail.com\" --ssl -u xxxxxxxxxxxx@gmail.com:xxxxxxxxxxxxx-T \"msg.txt\" -k --anyauth & pause";
const char* ccmd = cmd.toStdString().c_str();
system(ccmd);
但是,当我在 Qt Creator 中使用它时,无论是调试还是发布,它都可以正常工作。 (出于测试目的,我必须添加& pause)部署它时,它只是说它未被识别为有效的程序/批处理文件。请注意,它不是说curl.exe isn't recognized,而是$#@$%@^# isn't recognized(某种奇怪的写法)。我猜是因为它被编译了
这里是我的部署方式:从版本中复制 .exe >> Qt 控制台 >> windeployqt --gui . 我还添加了 curl.exe、libcurl.dll 和证书文件。为什么它不起作用?谢谢大家。
编辑: 目录的屏幕截图 Link
【问题讨论】:
-
如果您正在使用可执行文件目录中的
curl程序,请尝试使用./curl或确保目录curl在系统bin 路径中。 -
@rakib_ 不起作用...我在 Windows 上...您说它在系统 bin 路径中是什么意思?它与 .exe 位于同一文件夹中,我将编辑帖子并添加目录图片
-
看看这里如何添加自定义 bin 路径:technet.microsoft.com/en-us/library/aa997841(v=exchg.65).aspx
-
@rakib_ 仍然不起作用...