/*
- Copyright (C) 2018 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2018-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
+
#include "send_notification_email_job.h"
#include "exceptions.h"
#include "config.h"
#include "emailer.h"
#include "compose.hpp"
-#include <boost/foreach.hpp>
-#include <list>
#include "i18n.h"
+
using std::string;
-using std::list;
-using boost::shared_ptr;
+using std::shared_ptr;
+
/** @param body Email body */
SendNotificationEmailJob::SendNotificationEmailJob (string body)
}
+
+SendNotificationEmailJob::~SendNotificationEmailJob ()
+{
+ stop_thread ();
+}
+
+
string
SendNotificationEmailJob::name () const
{
return _("Email notification");
}
+
string
SendNotificationEmailJob::json_name () const
{
return N_("send_notification_email");
}
+
void
SendNotificationEmailJob::run ()
{
- Config* config = Config::instance ();
+ auto config = Config::instance ();
if (config->mail_server().empty()) {
- throw NetworkError (_("No mail server configured in preferences"));
+ throw MissingConfigurationError(_("No outgoing mail server configured in the Email tab of preferences"));
}
set_progress_unknown ();
- list<string> to;
- to.push_back (config->notification_to ());
- Emailer email (config->notification_from(), to, config->notification_subject(), _body);
- BOOST_FOREACH (string i, config->notification_cc()) {
+ Emailer email (config->notification_from(), { config->notification_to() }, config->notification_subject(), _body);
+ for (auto i: config->notification_cc()) {
email.add_cc (i);
}
if (!config->notification_bcc().empty()) {
- email.add_bcc (config->notification_bcc ());
+ email.add_bcc (config->notification_bcc());
}
email.send (config->mail_server(), config->mail_port(), config->mail_protocol(), config->mail_user(), config->mail_password());