summaryrefslogtreecommitdiff
path: root/src/message/queue_sender.hpp
blob: 170ebfc3f86d358862cfdfffeb3e0f1cca1abfa6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include "management/settings.hpp"
#include "management/mail.hpp"
#include "thread/queue.hpp"

namespace smtp::message
{
    class QueueSender
    {
    public:
        QueueSender( manage::Settings const& settings_storage,
                     manage::Mail& mail_to,
                     thread::Queue& message_queue );
        ~QueueSender() = default;

        void SendMessages();
    private:
        std::string GetMailfrom() const;
        std::string GetDefaultMailfrom() const;

        manage::Settings const& mSettingsStorage;
        manage::Mail& mMailTo;
        thread::Queue& mMessageQueue;
    };
}