aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/sendmail/sendmailTransport.cpp
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2013-04-03 07:02:15 +0000
committerVincent Richard <[email protected]>2013-04-03 07:02:15 +0000
commitff8827bdd33da077d4677cc7589449cfa36d8b87 (patch)
tree71cd41898af157ec18f7e472c1065c97af60d3dc /src/net/sendmail/sendmailTransport.cpp
parentRemove +x bit from source files (diff)
downloadvmime-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.cpp9
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)