diff options
author | claiff <claiff@mail.ru> | 2022-10-19 18:17:14 +0300 |
---|---|---|
committer | claiff <claiff@mail.ru> | 2022-10-19 18:17:14 +0300 |
commit | 235b75103d5fd2e7d0f8027d7b7e3b50a7deed2b (patch) | |
tree | 19840073cd01ccee5ed9a3159d8f1db88991f050 /src/message/queue_sender.cpp | |
parent | ebd8670701c6adc7bee929bd9911ca335b3223c5 (diff) | |
download | obmc-sila-smtp-235b75103d5fd2e7d0f8027d7b7e3b50a7deed2b.tar.xz |
refactor
Diffstat (limited to 'src/message/queue_sender.cpp')
-rw-r--r-- | src/message/queue_sender.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/message/queue_sender.cpp b/src/message/queue_sender.cpp new file mode 100644 index 0000000..8f0172a --- /dev/null +++ b/src/message/queue_sender.cpp @@ -0,0 +1,39 @@ +#include "queue_sender.hpp" +#include "sender.hpp" + +namespace smtp::message +{ + QueueSender::QueueSender( manage::Settings const& settings_storage, + manage::Mail& mail_to, + thread::Queue& message_queue) + : mSettingsStorage( settings_storage ) + , mMailTo( mail_to ) + , mMessageQueue( message_queue ) + { + + } + + void QueueSender::SendMessages() + { + Sender message_sender; + while (1) + { + auto message = mMessageQueue.WaitAndPop(); + auto mail_from = GetMailfrom(); + auto mails_to = mMailTo.GetMailToSend(); + message_sender.Send( mSettingsStorage, mail_from, mails_to, message->subject, message->text ); + } + } + + std::string QueueSender::GetMailfrom() const + { + return mSettingsStorage.IsNeedAuth() ? mSettingsStorage.GetUserName() : + GetDefaultMailfrom(); + } + + std::string QueueSender::GetDefaultMailfrom() const + { + return "cp2-5422"; + } + +} |