Я пытаюсь отправить и отправить электронное письмо из моего приложения Qt / C ++ с помощью функции sendRawEmail библиотеки AWS / SES .Я буду использовать эту функцию, потому что мне придется отправлять электронные письма с прикрепленными документами.
Я пробовал этот код, но он не работает ... Пожалуйста, кто-то может мне помочь?
Aws::SES::Model::SendRawEmailRequest sendRawEmailRequest;
DestinationsVector.emplace_back(email_contact.toStdString().c_str());
sendRawEmailRequest.SetDestinations(DestinationsVector);
sendRawEmailRequest.SetSource(email_contact.toStdString().c_str());
QString rawMsg;
QTextStream rawMsgStream(&rawMsg);
rawMsgStream << "From: " << email_contact << "\\n";
rawMsgStream << "To: " << email_contact << "\\n";
rawMsgStream << "Subject: " << "my Title" <<"\\n";
rawMsgStream << "MIME-Version: 1.0\\n";
rawMsgStream << "Content-type: multipart/related; boundary=\"NextPart\"\\n";
rawMsgStream << "Content-Transfer-Encoding: base64\\n";
rawMsgStream << "\\n--NextPart\\n";
rawMsgStream << "Content-Type: text/plain; charset=utf-8\\n ";
rawMsgStream << "My message" << "\\n--NextPart--\\n";
QByteArray buff64 = rawMsg.toLocal8Bit().toBase64();
Aws::Utils::ByteBuffer buff((const unsigned char*)buff64.toStdString().c_str(),buff64.size());
Aws::SES::Model::RawMessage rm;
rm.SetData(buff);
sendRawEmailRequest.SetRawMessage(rm);
auto outcome = _clientEmailService->SendRawEmail(sendRawEmailRequest);
if (outcome.IsSuccess()){
return tr("Email sent!");
}
else {
outcome.GetError().GetMessage().c_str();
return outcome.GetError().GetMessage().c_str();
}
Вот причина отказа, отправленная Amazon SES:
Diagnostic-Code: smtp; 550-5.7.1 [54.240.8.64 11] Our system has detected that this message is not
550-5.7.1 RFC 5322 compliant:
550-5.7.1 'From' header is missing.
550-5.7.1 To reduce the amount of spam sent to Gmail, this message has been
550-5.7.1 blocked. Please visit
550-5.7.1 https://support.google.com/mail/?p=RfcMessageNonCompliant
550 5.7.1 and review RFC 5322 specifications for more information. 51-v6si822773qvt.246 - gsmtp
Status: 5.7.1