aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/net/transport.cpp10
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;