Plugin API: Added message_ready hook - the last chance to modify Mail_Mime object before saving or sending the message

pull/269/head
Aleksander Machniak 10 years ago
parent e6c1e0c638
commit 0a4e0921d3

@ -4,6 +4,7 @@ CHANGELOG Roundcube Webmail
- Password plugin: Added 'kpasswd' driver by Peter Allgeyer - Password plugin: Added 'kpasswd' driver by Peter Allgeyer
- Add initdb.sh to create database from initial.sql script with prefix support (#1490188) - 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_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) - 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 handling of %-encoded entities in mailto: URLs (#1490346)
- Fix zipped messages downloads after selecting all messages in a folder (#1490339) - Fix zipped messages downloads after selecting all messages in a folder (#1490339)

@ -113,6 +113,12 @@ else if ($from_string = rcmail_email_input_format($from)) {
$from = null; $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) { if (!$from_string && $from) {
$from_string = $from; $from_string = $from;
} }
@ -508,14 +514,12 @@ $MAIL_MIME->setParam('text_charset', $text_charset);
// pass headers to message object // pass headers to message object
$MAIL_MIME->headers($headers); $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 // Begin SMTP Delivery Block
if (!$savedraft && !$saveonly) { 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 // Handle Delivery Status Notification request
$smtp_opts['dsn'] = $dsn_enabled; $smtp_opts['dsn'] = $dsn_enabled;

Loading…
Cancel
Save