cutelyst / simple-mail

An SMTP library written in C++ for Qt. Allows applications to send emails (MIME with text, html, attachments, inline files, etc.) via SMTP. Supports SSL and SMTP authentication.
GNU Lesser General Public License v2.1
213 stars 64 forks source link

Remove sending signal for message end from MimeMessage::write #68

Closed michaelernst closed 3 years ago

michaelernst commented 3 years ago

This is part of the SMTP dialog and should not be handled in the MIME message. The first occurrence of '\r\n.\r\n' will end the SMTP dialog and trigger the 'queued as' response. Sending it a second time has no effect.

The SenderPrivate::sendMail() method also sends the string to signal the end of the message. I am only using the synchronous code path so I am not quite sure how this might impact the Server class. IMHO it should be handled where the SMTP dialog is handled, but it would also be possible to leave it in MimeMessage and remove it from Sender class.