diff options
author | claiff <claiff@mail.ru> | 2022-10-19 14:22:11 +0300 |
---|---|---|
committer | claiff <claiff@mail.ru> | 2022-10-19 14:22:11 +0300 |
commit | ebd8670701c6adc7bee929bd9911ca335b3223c5 (patch) | |
tree | ca9b09e946cdc925c95b934741342046404e41e6 /src | |
parent | 79dcd12de0059eef4644ecfd362dec388489dca2 (diff) | |
parent | 249042f598b3b359ae136ff24b24b1c2bdd60750 (diff) | |
download | obmc-sila-smtp-ebd8670701c6adc7bee929bd9911ca335b3223c5.tar.xz |
Merge branch 'bugfix/date'
# Conflicts:
# src/message/sender.cpp
Diffstat (limited to 'src')
-rw-r--r-- | src/message/builder/date.cpp | 5 | ||||
-rw-r--r-- | src/message/sender.cpp | 53 |
2 files changed, 31 insertions, 27 deletions
diff --git a/src/message/builder/date.cpp b/src/message/builder/date.cpp index 3268935..9fdc524 100644 --- a/src/message/builder/date.cpp +++ b/src/message/builder/date.cpp @@ -10,7 +10,10 @@ namespace smtp::message::builder { result = mBase->Get(); } - result += "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n"; + auto current_date = time(0); + auto current_date_as_string = ctime(¤t_date); + + result += "Date: " + std::string(current_date_as_string) + "\r\n"; return result; } } diff --git a/src/message/sender.cpp b/src/message/sender.cpp index a0ef6ee..8b5371a 100644 --- a/src/message/sender.cpp +++ b/src/message/sender.cpp @@ -1,4 +1,5 @@ #include <cstring> +#include <iostream> #include "sender.hpp" #include "builder/date.hpp" @@ -11,35 +12,36 @@ namespace smtp::message { - static std::string mText; + static std::string mText; - // - // Constructors/Destructors - // + // + // Constructors/Destructors + // Sender::Sender( manage::Settings const& settings_storage, manage::Mail& mail_to, thread::Queue& message_queue ) - : mSettingsStorage( settings_storage ) - , mMailTo( mail_to ) + : mSettingsStorage( settings_storage ) + , mMailTo( mail_to ) , mMessageQueue( message_queue ) - { + { - } + } - // - //Public methods - // + // + //Public methods + // void Sender::Send() - { - static const std::string METHOD_NAME = "Send message"; + { + static const std::string METHOD_NAME = "Send message"; - CURLcode result = CURLE_OK; - curl_slist* recipients = nullptr; - WriteThis upload_ctx{}; - auto curl = curl_easy_init(); - //TODO сделать инициализацию через регистратор инициализаторов + CURLcode result = CURLE_OK; + curl_slist* recipients = nullptr; + WriteThis upload_ctx{}; + auto curl = curl_easy_init(); + //TODO сделать инициализацию через регистратор инициализаторов while(1) { + mMailTo.WaitWhileEmptyMails(); auto message = mMessageQueue.WaitAndPop(); if( !InitCurl( curl, upload_ctx, mSettingsStorage.GetUserName() )) { @@ -47,7 +49,6 @@ namespace smtp::message } //TODO раздать mail_to другим методам - mMailTo.WaitWhileEmptyMails(); auto mail_to = mMailTo.GetMailToSend(); FillRecipients( curl, recipients ); @@ -101,13 +102,13 @@ namespace smtp::message 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 >( mail_to )) - .Apply( std::make_shared < builder::From >( mail_from )) - .Apply( std::make_shared < builder::MailTo >( mail_to )) - .Apply( std::make_shared < builder::Date >()); + auto mail_to = mMailTo.GetMailToSend(); + auto text_decorator = std::make_shared < builder::Text >( text ); + text_decorator->Apply( std::make_shared < builder::Date >()) + .Apply( std::make_shared < builder::Subject >( subject )) + .Apply( std::make_shared < builder::Cc >( mail_to )) + .Apply( std::make_shared < builder::From >( mail_from )) + .Apply( std::make_shared < builder::MailTo >( mail_to )); mText = text_decorator->Get(); } |