summaryrefslogtreecommitdiff
path: root/src/message/sender.cpp
diff options
context:
space:
mode:
authoreportnov <eportnov@ibs.ru>2022-09-13 11:13:38 +0300
committereportnov <eportnov@ibs.ru>2022-09-13 11:13:38 +0300
commita58088ec7a45bb86b155a8ef9514b35b0ba8d1c9 (patch)
tree95a796ba075edb1abf4edea29a11544fa7344754 /src/message/sender.cpp
parentdf33492b80495fd36a1a488c0b0a39753f1df415 (diff)
parentdcbaf61e4968734d9b3bc41f704ea04d54746cea (diff)
downloadobmc-sila-smtp-a58088ec7a45bb86b155a8ef9514b35b0ba8d1c9.tar.xz
Merge branch 'feature/mail_user_managment'
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() );
}