From dcbaf61e4968734d9b3bc41f704ea04d54746cea Mon Sep 17 00:00:00 2001 From: eportnov Date: Tue, 13 Sep 2022 11:13:33 +0300 Subject: add file reading --- src/message/sender.cpp | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) (limited to 'src/message/sender.cpp') 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 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 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( text ); text_decorator->Apply( std::make_shared( subject ) ) - .Apply( std::make_shared( cc ) ) + .Apply( std::make_shared( mail_to ) ) .Apply( std::make_shared( mail_from ) ) - .Apply( std::make_shared( mail_to ) ) + .Apply( std::make_shared( mail_to.front() ) ) .Apply( std::make_shared() ); mText = text_decorator->Get(); std::cout << mText << std::endl; } - void Sender::FillRecipients( CURL* curl, std::string const& mail_to, std::list 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() ); } -- cgit v1.2.3