#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"; } }