Fix so additional headers are added to all messages sent (#1489284)

This commit is contained in:
Aleksander Machniak
2013-08-25 09:03:01 +02:00
parent 1305079d75
commit 6efadfc8d3
5 changed files with 23 additions and 13 deletions

View File

@@ -15,27 +15,32 @@
*/
class additional_message_headers extends rcube_plugin
{
public $task = 'mail';
function init()
{
$this->add_hook('message_outgoing_headers', array($this, 'message_headers'));
$this->add_hook('message_before_send', array($this, 'message_headers'));
}
function message_headers($args)
{
$this->load_config();
$this->load_config();
$headers = $args['message']->headers();
$rcube = rcube::get_instance();
// additional email headers
$additional_headers = rcmail::get_instance()->config->get('additional_message_headers',array());
foreach($additional_headers as $header=>$value){
$additional_headers = $rcube->config->get('additional_message_headers', array());
foreach ((array)$additional_headers as $header => $value) {
if (null === $value) {
unset($args['headers'][$header]);
} else {
$args['headers'][$header] = $value;
unset($headers[$header]);
}
else {
$headers[$header] = $value;
}
}
$args['message']->_headers = array();
$args['message']->headers($headers);
return $args;
}
}