Aleksander Machniak
2015-03-31 0a4e0921d3c4e4e1e485f43dc05bf0447fbc846a
Plugin API: Added message_ready hook - the last chance to modify Mail_Mime object before saving or sending the message
2 files modified
17 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/steps/mail/sendmail.inc 16 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -4,6 +4,7 @@
- Password plugin: Added 'kpasswd' driver by Peter Allgeyer
- Add initdb.sh to create database from initial.sql script with prefix support (#1490188)
- Plugin API: Added message_part_body hook
- Plugin API: Added message_ready hook
- Plugin API: Add special onload() method to execute plugin actions before startup (session and GUI initialization)
- Fix handling of %-encoded entities in mailto: URLs (#1490346)
- Fix zipped messages downloads after selecting all messages in a folder (#1490339)
program/steps/mail/sendmail.inc
@@ -113,6 +113,12 @@
        $from = null;
}
// check 'From' address (identity may be incomplete)
if (!$savedraft && !$saveonly && empty($from)) {
    $OUTPUT->show_message('nofromaddress', 'error');
    $OUTPUT->send('iframe');
}
if (!$from_string && $from) {
    $from_string = $from;
}
@@ -508,14 +514,12 @@
// pass headers to message object
$MAIL_MIME->headers($headers);
// This hook allows to modify the message before send or save action
$plugin    = $RCMAIL->plugins->exec_hook('message_ready', array('message' => $MAIL_MIME));
$MAIL_MIME = $plugin['message'];
// Begin SMTP Delivery Block
if (!$savedraft && !$saveonly) {
    // check 'From' address (identity may be incomplete)
    if (empty($from)) {
        $OUTPUT->show_message('nofromaddress', 'error');
        $OUTPUT->send('iframe');
    }
    // Handle Delivery Status Notification request
    $smtp_opts['dsn'] = $dsn_enabled;