Source of file ImpersonatePlugin.php
Size: 1,749 Bytes - Last Modified: 2013-06-17T15:32:32+02:00
/home/theseer/Downloads/Symfony/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ImpersonatePlugin.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | <?php /* * This file is part of SwiftMailer. * (c) 2009 Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ /** * Replaces the sender of a message. * * @package Swift * @subpackage Plugins * @author Arjen Brouwer */ class Swift_Plugins_ImpersonatePlugin implements Swift_Events_SendListener { /** * The sender to impersonate. * * @var String */ private $_sender; /** * Create a new ImpersonatePlugin to impersonate $sender. * * @param string $sender address */ public function __construct($sender) { $this->_sender = $sender; } /** * Invoked immediately before the Message is sent. * * @param Swift_Events_SendEvent $evt */ public function beforeSendPerformed(Swift_Events_SendEvent $evt) { $message = $evt->getMessage(); $headers = $message->getHeaders(); // save current recipients $headers->addPathHeader('X-Swift-Return-Path', $message->getReturnPath()); // replace them with the one to send to $message->setReturnPath($this->_sender); } /** * Invoked immediately after the Message is sent. * * @param Swift_Events_SendEvent $evt */ public function sendPerformed(Swift_Events_SendEvent $evt) { $message = $evt->getMessage(); // restore original headers $headers = $message->getHeaders(); if ($headers->has('X-Swift-Return-Path')) { $message->setReturnPath($headers->get('X-Swift-Return-Path')->getAddress()); $headers->removeAll('X-Swift-Return-Path'); } } } |