VMime
|
Static Public Member Functions | |
static void | attachMDNRequest (shared_ptr< message > msg, const mailboxList &mailboxes) |
static void | attachMDNRequest (shared_ptr< message > msg, const mailbox &mbox) |
static const std::vector < sendableMDNInfos > | getPossibleMDNs (const shared_ptr< const message > msg) |
static bool | isMDN (const shared_ptr< const message > msg) |
static receivedMDNInfos | getReceivedMDN (const shared_ptr< const message > msg) |
static bool | needConfirmation (const shared_ptr< const message > msg) |
static shared_ptr< message > | buildMDN (const sendableMDNInfos &mdnInfos, const string &text, const charset &ch, const mailbox &expeditor, const disposition &dispo, const string &reportingUA=NULL_STRING, const std::vector< string > &reportingUAProducts=std::vector< string >(), const std::map< string, string > &fields=(std::map< string, string >())) |
Helper for creating or extracting Message Disposition Notifications (MDN), as defined in RFC-3798.
|
static |
Attach a MDN request to the specified message.
msg | message in which to add a MDN request |
mailboxes | list of mailboxes to which the MDN will be sent |
Referenced by MDNHelper::attachMDNRequest().
Attach a MDN request to the specified message.
msg | message in which to add a MDN request |
mbox | mailbox to which the MDN will be sent |
References mailboxList::appendMailbox(), MDNHelper::attachMDNRequest(), and vmime::clone().
|
static |
Build a new MDN for the message.
The resulting MDN can then be sent over SMTP transport service.
mdnInfos | information about the MDN to construct |
text | human readable message. The purpose of this message is to provide an easily-understood description of the condition(s) that caused the report to be generated. |
ch | charset of the text |
expeditor | expeditor of the MDN |
dispo | disposition information |
reportingUA | name of reporting user-agent (optional) |
reportingUAProducts | list of products in the reporting user-agent (optional) |
fields | additional MDN fields, like "Error", "Warning" or "Failure" (optional) |
References addressList::appendAddress(), sendableMDNInfos::getRecipient(), vmime::mediaTypes::MULTIPART, vmime::mediaTypes::MULTIPART_REPORT, datetime::now(), and vmime::SUPPORTED_MIME_VERSION.
|
static |
Return a list of possible MDNs that can be generated for the specified message.
msg | message for which to send a MDN |
References vmime::fields::DISPOSITION_NOTIFICATION_TO, mailboxList::getMailboxAt(), and mailboxList::getMailboxCount().
|
static |
If the specified message is a MDN, return information about it.
msg | message |
exceptions::invalid_argument | if the message is not a MDN |
References MDNHelper::isMDN().
|
static |
Test whether the specified message is a MDN.
msg | message |
References vmime::fields::CONTENT_TYPE, contentTypeField::getReportType(), headerField::getValue(), parameterizedHeaderField::hasParameter(), vmime::mediaTypes::MULTIPART, and vmime::mediaTypes::MULTIPART_REPORT.
Referenced by MDNHelper::getReceivedMDN().
|
static |
Check whether we need user confirmation for sending a MDN even if he/she explicitely allowed automatic send of MDNs.
This can happen in some situations, described in RFC-3798.
msg | message for which to send a MDN |
References vmime::fields::DISPOSITION_NOTIFICATION_TO, path::getDomain(), mailbox::getEmail(), path::getLocalPart(), mailboxList::getMailboxAt(), mailboxList::getMailboxCount(), and vmime::fields::RETURN_PATH.