diff options
-rw-r--r-- | src/net/transport.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/net/transport.cpp b/src/net/transport.cpp index 18bf4773..3c8536ab 100644 --- a/src/net/transport.cpp +++ b/src/net/transport.cpp @@ -98,6 +98,16 @@ void transport::send(ref <vmime::message> msg, utility::progressListener* progre } catch (exceptions::no_such_field&) { } + // Remove BCC headers from the message we're about to send, as required by the RFC. + // Some SMTP server automatically strip this header (Postfix, qmail), and others + // have an option for this (Exim). + try + { + ref <headerField> bcc = msg->getHeader()->findField(fields::BCC); + msg->getHeader()->removeField(bcc); + } + catch (exceptions::no_such_field&) { } + // Generate the message, "stream" it and delegate the sending // to the generic send() function. std::ostringstream oss; |