|
VMime
|
#include <MDNHelper.hpp>
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 |
| mbox | mailbox to which the MDN will be sent |
References mailboxList::appendMailbox(), MDNHelper::attachMDNRequest(), vmime::clone(), and vmime::dynamicCast().
|
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 |
References vmime::dynamicCast().
Referenced by MDNHelper::attachMDNRequest().
|
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(), vmime::dynamicCast(), 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, and vmime::dynamicCast().
|
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 vmime::dynamicCast(), and MDNHelper::isMDN().
|
static |
Test whether the specified message is a MDN.
| msg | message |
References vmime::fields::CONTENT_TYPE, vmime::dynamicCast(), mediaType::getSubType(), mediaType::getType(), 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, vmime::dynamicCast(), and vmime::fields::RETURN_PATH.