|
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.
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(), attachMDNRequest(), and vmime::clone().
|
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 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(), 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 isMDN().
|
static |
Test whether the specified message is a MDN.
| msg | message |
References vmime::fields::CONTENT_TYPE, vmime::dynamicCast(), contentTypeField::getReportType(), mediaType::getSubType(), mediaType::getType(), headerField::getValue(), parameterizedHeaderField::hasParameter(), vmime::mediaTypes::MULTIPART, and vmime::mediaTypes::MULTIPART_REPORT.
Referenced by 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.