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/sendmail/sendmailTransport.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/sendmail/sendmailTransport.cpp')
-rw-r--r-- | src/net/sendmail/sendmailTransport.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/net/sendmail/sendmailTransport.cpp b/src/net/sendmail/sendmailTransport.cpp index dbbb55a8..82501575 100644 --- a/src/net/sendmail/sendmailTransport.cpp +++ b/src/net/sendmail/sendmailTransport.cpp @@ -139,7 +139,7 @@ void sendmailTransport::noop() void sendmailTransport::send (const mailbox& expeditor, const mailboxList& recipients, utility::inputStream& is, const utility::stream::size_type size, - utility::progressListener* progress) + utility::progressListener* progress, const mailbox& sender) { // If no recipient/expeditor was found, throw an exception if (recipients.isEmpty()) @@ -152,7 +152,12 @@ void sendmailTransport::send args.push_back("-i"); args.push_back("-f"); - args.push_back(expeditor.getEmail().generate()); + + if (!sender.isEmpty()) + args.push_back(expeditor.getEmail().generate()); + else + args.push_back(sender.getEmail().generate()); + args.push_back("--"); for (int i = 0 ; i < recipients.getMailboxCount() ; ++i) |