我正在使用Qt,我最近使用gmail创建了一个类似的应用程序。现在,我想将outlook中的电子邮件发送到gmail。 编辑:我刚尝试使用应用密码从outlook发送到Outlook,但在我的Outlook收件箱中仍然是空的电子邮件... END EDIT 这是我的代码:
if(file.open(QIODevice::ReadWrite)){ //Writes in the msg.txt
QTextStream stream(&file);
stream << "From: \"Me\" <xxxxxxxxxx@outlook.com>" << endl;
stream << "To: \"Me\" <xxxxxxxxxxxx@gmail.com>" << endl;
stream << "Subject: Subject" << endl;
stream << msg << endl; //msg is just a QString variable
}
QString cmd = "ccurl smtp://smtp-mail.outlook.com:587 -v --mail-from \"xxxxxxxxxxxx@outlook.com\" --mail-rcpt \"xxxxxxxxxxxx@gmail.com\" --ssl -u xxxxxxxxxxxxxx@outlook.com:xxxxxxxxxxxxxx -T \"msg.txt\" -k --anyauth --insecure & pause";
const std::string s = cmd.toStdString();
const char* ccmd = s.c_str();
system(ccmd);
暂停仅用于测试目的。此外,我的.exe名为'ccurl',出现的控制台不会抛出任何错误。我确实收到了一封电子邮件,但它只是说(空)
---
Email checked by avast....
感谢您的帮助!
聚苯乙烯。不要告诉我使用libcurl
答案 0 :(得分:0)
在标题的结尾和邮件正文的开头之间缺少一个空行。没有它,消息的其余部分将被解释为它仍然是标题的一部分。
此外,endl
强制在流中强制刷新,没有充分的理由,这会在文件上完成时杀死性能。只需使用\n
即可。