diff options
author | Vincent Richard <[email protected]> | 2013-04-03 07:02:15 +0000 |
---|---|---|
committer | Vincent Richard <[email protected]> | 2013-04-03 07:02:15 +0000 |
commit | ff8827bdd33da077d4677cc7589449cfa36d8b87 (patch) | |
tree | 71cd41898af157ec18f7e472c1065c97af60d3dc /src/net/smtp/SMTPTransport.cpp | |
parent | Remove +x bit from source files (diff) | |
download | vmime-ff8827bdd33da077d4677cc7589449cfa36d8b87.tar.gz vmime-ff8827bdd33da077d4677cc7589449cfa36d8b87.zip |
Issue #4: set envelope sender.
Diffstat (limited to 'src/net/smtp/SMTPTransport.cpp')
-rw-r--r-- | src/net/smtp/SMTPTransport.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/net/smtp/SMTPTransport.cpp b/src/net/smtp/SMTPTransport.cpp index b95321f9..853ffe35 100644 --- a/src/net/smtp/SMTPTransport.cpp +++ b/src/net/smtp/SMTPTransport.cpp @@ -560,9 +560,10 @@ void SMTPTransport::noop() } -void SMTPTransport::send(const mailbox& expeditor, const mailboxList& recipients, - utility::inputStream& is, const utility::stream::size_type size, - utility::progressListener* progress) +void SMTPTransport::send + (const mailbox& expeditor, const mailboxList& recipients, + utility::inputStream& is, const utility::stream::size_type size, + utility::progressListener* progress, const mailbox& sender) { if (!isConnected()) throw exceptions::not_connected(); @@ -586,7 +587,10 @@ void SMTPTransport::send(const mailbox& expeditor, const mailboxList& recipients commands->addCommand(SMTPCommand::RSET()); // Emit the "MAIL" command - commands->addCommand(SMTPCommand::MAIL(expeditor)); + if (!sender.isEmpty()) + commands->addCommand(SMTPCommand::MAIL(sender)); + else + commands->addCommand(SMTPCommand::MAIL(expeditor)); // Now, we will need to reset next time m_needReset = true; |