aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/smtp/SMTPTransport.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/smtp/SMTPTransport.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/smtp/SMTPTransport.cpp')
-rw-r--r--src/net/smtp/SMTPTransport.cpp12
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;