2017-05-27 4 views
0

私はQtを使用していますが、最近Gmailを使って同様のアプリケーションを作成しました。さて、OutlookからGmailに電子メールを送信したいと思います。 編集:私はちょうどここに...私の見通しの受信トレイにのEND EDITをアプリのパスワードを使用してOutlookにOutlookから送信しようとしたが、まだ空メールが私のコードです:(Qt)smtpへのCurlアップロードが空のメールを送信します

if(file.open(QIODevice::ReadWrite)){ //Writes in the msg.txt 
    QTextStream stream(&file); 
    stream << "From: \"Me\" <[email protected]>" << endl; 
    stream << "To: \"Me\" <[email protected]>" << 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 \"[email protected]\" --mail-rcpt \"[email protected]\" --ssl -u [email protected]: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.... 

ありがとうございました!

ps。代わりにlibcurlを使用するように言ってはいけません。

答えて

0

ヘッダーの最後とメッセージ本文の間に空白行がありません。それがなければ、残りのメッセージはあたかもそれがヘッダーの一部であるかのように解釈されます。

また、endlは、ストリームで強制的に強制的に強制的に実行されるため、ファイルに対して実行されるとパフォーマンスが低下します。ちょうど\nを使用してください。

+0

まあ、あなたは正しい!ありがとうございました...私は以前Gmailの考え方を考えていたのでしょうか?..... –

+0

どこか空行が入ったメッセージを送信していたのでしょうか? –

+0

おそらく.....私はgmailのコードをOutlookに貼り付けてコピーしたと思っていました...とにかくそれはうまくいきましたが、今はその理由を知っています。 –

関連する問題