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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
/*
SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "resourcesendjob_p.h"
#include <MailTransport/Transport>
#include <KMime/Message>
#include <Akonadi/AddressAttribute>
#include <Akonadi/Collection>
#include <Akonadi/MessageQueueJob>
using namespace Akonadi;
using namespace KMime;
using namespace MailTransport;
ResourceSendJob::ResourceSendJob(Transport *transport, QObject *parent)
: TransportJob(transport, parent)
{
}
ResourceSendJob::~ResourceSendJob() = default;
void ResourceSendJob::doStart()
{
Message::Ptr msg = Message::Ptr(new Message);
msg->setContent(data());
auto job = new MessageQueueJob;
job->setMessage(msg);
job->transportAttribute().setTransportId(transport()->id());
// Default dispatch mode (send now).
// Move to default sent-mail collection.
job->addressAttribute().setFrom(sender());
job->addressAttribute().setTo(to());
job->addressAttribute().setCc(cc());
job->addressAttribute().setBcc(bcc());
addSubjob(job);
// Once the item is in the outbox, there is nothing more we can do.
connect(job, &KJob::result, this, &ResourceSendJob::slotEmitResult);
job->start();
}
void ResourceSendJob::slotEmitResult()
{
// KCompositeJob took care of the error.
emitResult();
}
#include "moc_resourcesendjob_p.cpp"
|