C++ アプリケーションから PDF ファイルが添付された smtp メールを正しく送信できます。すべてのユーザーは、ラップトップまたはデスクトップ PC を使用している場合、メール クライアントから PDF 添付ファイルをダウンロードできますが、一部のユーザー (10 人中約 4 人のユーザー) は、自分のメール クライアントからメールを読もうとしても、添付ファイルをダウンロードできません。携帯電話 (主に iPhone で発生しますが、Android でも発生します)。
彼らは電子メール テキストを受信し、添付ファイルがあることを確認できますが、そのファイルは表示されず、開くことができません。
添付ファイルがウイルスとして検出され、ブロックされているようです。ユーザーがラップトップのメール クライアントで同じメールを開こうとすると、添付ファイルを読み取ることができます。
この問題を解決する解決策はありますか?
curl.exe と smtpclient ライブラリの両方で同じ問題があります。
これは、 smtpclient ライブラリに基づいて現在使用しているコードです。
SmtpClient smtp("smtp.gmail.com", 465, SmtpClient::SslConnection);
smtp.setUser("email@gmail.com");
smtp.setPassword("passwd");
// Create a MimeMessage
MimeMessage message;
EmailAddress sender("email@gmail.com", "name");
message.setSender(&sender);
EmailAddress to(email_recipient, ui->listautenti->currentText());
message.addRecipient(&to);
message.setSubject("example!");
// Add some text
MimeText text;
QString testo_della_mail = "Hello!";
text.setText(testo_della_mail);
message.addPart(&text);
// Now we create the attachment object
MimeAttachment attachment (new QFile(pdf_filename));
qDebug() << "Filename: " << pdf_filename;
// the file type can be setted. (by default is application/octet-stream)
attachment.setContentType("application/pdf");
// Now add it to message
message.addPart(&attachment);
msgBox.exec();
smtp.quit();