22 #ifndef EMAILSMTPSERVICE_H_
23 #define EMAILSMTPSERVICE_H_
31 #include <ibrcommon/thread/Thread.h>
32 #include <ibrcommon/thread/Queue.h>
33 #include <vmime/vmime.hpp>
57 std::string recipient);
100 std::string _recipient;
105 size_t _timesChecked;
146 class TimeoutHandler : public vmime::net::timeoutHandler
151 bool handleTimeOut();
153 unsigned int getTime()
155 return vmime::platform::getHandler()->getUnixTime();
163 class TimeoutHandlerFactory :
public vmime::net::timeoutHandlerFactory
166 vmime::ref<vmime::net::timeoutHandler> create()
168 return vmime::create<TimeoutHandler>();
195 vmime::ref<vmime::security::cert::defaultCertificateVerifier> _certificateVerifier;
200 vmime::ref<vmime::net::transport> _transport;
205 ibrcommon::Queue<Task*> _queue;
210 ibrcommon::Mutex _threadMutex;
220 void loadCerificates();
230 vmime::ref<vmime::security::cert::X509Certificate> loadCertificateFromFile(
const std::string &path);
237 void submit(Task *t);
277 std::string toString(
int i);
282 class InvalidCertificate :
public ibrcommon::Exception {
284 InvalidCertificate() {}
285 InvalidCertificate(std::string msg) : Exception(msg) {}
const dtn::core::Node getNode()
Task(const dtn::core::Node &node, const dtn::net::BundleTransfer &job, std::string recipient)
static EMailSmtpService & getInstance()
bool checkForReturningMail()
std::string getRecipient()
const dtn::net::BundleTransfer getJob()