2014-01-07 1 views
0

Я работаю над новым сайтом Joomla и работаю над тестированием исходящей электронной почты. Я хотел бы иметь возможность перехватывать все исходящие письма и перенаправлять их на указанный мной адрес. Это очень полезно в разработке, когда у вас есть копия живого сайта с тысячами пользователей, поэтому электронная почта не идет к реальным пользователям с сайта копирования.Перехватить все исходящие письма Joomla и перенаправить их по указанному адресу

Было бы здорово сделать это с расширением, но не смогли найти его. Я также открыт для этого, если это необходимо, на стороне сервера.

Я нашел модуль Drupal, который делает именно то, что я хотел бы сделать, за исключением того, что это явно для Drupal и обратите внимание на Joomla.

https://drupal.org/project/reroute_email

ответ

0

На Joomla-Level можно создать системный плагин, который загружает собственные, обезьяны-заплата JMail класс.

Я не уверен, если вы могли бы продлить первоначальный JMail из-за конфликта имен, поэтому, возможно, вам придется скопировать его и изменить addRecipient метод:

public function addRecipient($recipient, $name = '') 
{ 
    $this->add('[email protected]', 'custom name', 'AddAddress'); 

    return $this; 
} 

Ссылки:

+0

Я не думаю, что метод addRecipient всегда используется для отправки электронной почты. например JFactory :: getMailer() -> sendMail ($ from, $ sender, $ email, $ subject, $ body) – thenewkid

+0

Nevermind, метод sendMail использует addRecipient. Для проверки я просто изменил mail.php на моем промежуточном сайте. Если я когда-нибудь смогу создать плагин, я отправлю его здесь. Благодаря! – thenewkid

+0

Я рекомендую создать плагин переопределения для пакета Mail, иначе есть вероятность того, что ваши изменения будут перезаписаны с помощью обновления Joomla (например, обновление авторских прав док-блоков до 2014 года). –