summaryrefslogtreecommitdiff
path: root/src/message/sender.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/message/sender.cpp')
-rw-r--r--src/message/sender.cpp27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/message/sender.cpp b/src/message/sender.cpp
index cabcb8f..20b8e9c 100644
--- a/src/message/sender.cpp
+++ b/src/message/sender.cpp
@@ -16,8 +16,9 @@ namespace smtp::message
//
// Constructors/Destructors
//
- Sender::Sender( service::Settings const& settings_storage )
- : mSettingsStorage( settings_storage )
+ Sender::Sender( manage::Settings const& settings_storage, manage::Mail const& mail_to )
+ : mSettingsStorage( settings_storage ),
+ mMailTo( mail_to )
{
}
@@ -26,8 +27,7 @@ namespace smtp::message
//Public methods
//
- bool Sender::Send( std::string const& mail_from, std::string const& mail_to, std::list<std::string> const& cc,
- std::string const& subject, std::string const& text )
+ bool Sender::Send( std::string const& mail_from, std::string const& subject, std::string const& text )
{
CURLcode result = CURLE_OK;
curl_slist *recipients = NULL;
@@ -38,8 +38,8 @@ namespace smtp::message
{
return false;
}
- FillRecipients( curl, mail_to, cc, recipients );
- UpdateMailText( mail_from, mail_to, cc, subject, text);
+ FillRecipients( curl, recipients );
+ UpdateMailText( mail_from, subject, text);
result = curl_easy_perform(curl);
@@ -79,24 +79,23 @@ namespace smtp::message
return true;
}
- void Sender::UpdateMailText( std::string const& mail_from, std::string const& mail_to, std::list<std::string> const& cc,
- std::string const& subject, std::string const& text ) const
+ void Sender::UpdateMailText( std::string const& mail_from, std::string const& subject, std::string const& text ) const
{
+ auto mail_to = mMailTo.GetMailToSend();
auto text_decorator = std::make_shared<builder::Text>( text );
text_decorator->Apply( std::make_shared<builder::Subject>( subject ) )
- .Apply( std::make_shared<builder::Cc>( cc ) )
+ .Apply( std::make_shared<builder::Cc>( mail_to ) )
.Apply( std::make_shared<builder::From>( mail_from ) )
- .Apply( std::make_shared<builder::MailTo>( mail_to ) )
+ .Apply( std::make_shared<builder::MailTo>( mail_to.front() ) )
.Apply( std::make_shared<builder::Date>() );
mText = text_decorator->Get();
std::cout << mText << std::endl;
}
- void Sender::FillRecipients( CURL* curl, std::string const& mail_to, std::list<std::string> const& cc, curl_slist* recipients )
+ void Sender::FillRecipients( CURL* curl, curl_slist* recipients )
{
- recipients = curl_slist_append( recipients, mail_to.c_str() );
-
- for( const auto& recipient : cc )
+ auto mail_to = mMailTo.GetMailToSend();
+ for( const auto& recipient : mail_to )
{
recipients = curl_slist_append( recipients, recipient.c_str() );
}