Overview

Packages

  • CONTENIDO
  • Core
    • Authentication
    • Backend
    • Cache
    • CEC
    • Chain
    • ContentType
    • Database
    • Debug
    • Exception
    • Frontend
      • Search
      • URI
      • Util
    • GenericDB
      • Model
    • GUI
      • HTML
    • I18N
    • LayoutHandler
    • Log
    • Security
    • Session
    • Util
    • Validation
    • Versioning
    • XML
  • Module
    • ContentRssCreator
    • ContentSitemapHtml
    • ContentSitemapXml
    • ContentUserForum
    • NavigationTop
    • ScriptCookieDirective
  • mpAutoloaderClassMap
  • None
  • Plugin
    • ContentAllocation
    • CronjobOverview
    • FormAssistant
    • FrontendLogic
    • FrontendUsers
    • Linkchecker
    • ModRewrite
    • Newsletter
    • Repository
      • FrontendNavigation
      • KeywordDensity
    • SearchSolr
    • SmartyWrapper
    • UrlShortener
    • UserForum
    • Workflow
  • PluginManager
  • Setup
    • Form
    • GUI
    • Helper
      • Environment
      • Filesystem
      • MySQL
      • PHP
    • UpgradeJob
  • Smarty
    • Cacher
    • Compiler
    • Config
    • Debug
    • PluginsBlock
    • PluginsFilter
    • PluginsFunction
    • PluginsInternal
    • PluginsModifier
    • PluginsModifierCompiler
    • PluginsShared
    • Security
    • Template
    • TemplateResources
  • Swift
    • ByteStream
    • CharacterStream
    • Encoder
    • Events
    • KeyCache
    • Mailer
    • Mime
    • Plugins
    • Transport

Classes

  • Swift_FailoverTransport
  • Swift_LoadBalancedTransport
  • Swift_MailTransport
  • Swift_Plugins_Loggers_ArrayLogger
  • Swift_Plugins_Loggers_EchoLogger
  • Swift_SendmailTransport
  • Swift_SmtpTransport
  • Swift_Transport_AbstractSmtpTransport
  • Swift_Transport_Esmtp_Auth_CramMd5Authenticator
  • Swift_Transport_Esmtp_Auth_LoginAuthenticator
  • Swift_Transport_Esmtp_Auth_PlainAuthenticator
  • Swift_Transport_Esmtp_AuthHandler
  • Swift_Transport_EsmtpTransport
  • Swift_Transport_FailoverTransport
  • Swift_Transport_LoadBalancedTransport
  • Swift_Transport_MailTransport
  • Swift_Transport_SendmailTransport
  • Swift_Transport_SimpleMailInvoker
  • Swift_Transport_StreamBuffer

Interfaces

  • Swift_Plugins_Logger
  • Swift_Plugins_Pop_Pop3Exception
  • Swift_Transport
  • Swift_Transport_Esmtp_Authenticator
  • Swift_Transport_EsmtpHandler
  • Swift_Transport_IoBuffer
  • Swift_Transport_MailInvoker
  • Swift_Transport_SmtpAgent
  • Swift_TransportException
  • Overview
  • Package
  • Function
  • Todo
  • Download
 1: <?php
 2: /*
 3:  * This file is part of SwiftMailer.
 4:  * (c) 2009 Fabien Potencier
 5:  *
 6:  * For the full copyright and license information, please view the LICENSE
 7:  * file that was distributed with this source code.
 8:  */
 9: 
10: /**
11:  * Replaces the sender of a message.
12:  *
13:  * @package Swift
14:  * @subpackage Plugins
15:  * @author Arjen Brouwer
16:  */
17: class Swift_Plugins_ImpersonatePlugin implements Swift_Events_SendListener
18: {
19:     /**
20:      * The sender to impersonate.
21:      *
22:      * @var String
23:      * @access private
24:      */
25:     private $_sender;
26: 
27:     /**
28:      * Create a new ImpersonatePlugin to impersonate $sender.
29:      *
30:      * @param string $sender address
31:      */
32:     public function __construct($sender)
33:     {
34:         $this->_sender = $sender;
35:     }
36: 
37:     /**
38:      * Invoked immediately before the Message is sent.
39:      *
40:      * @param Swift_Events_SendEvent $evt
41:      */
42:     public function beforeSendPerformed(Swift_Events_SendEvent $evt)
43:     {
44:         $message = $evt->getMessage();
45:         $headers = $message->getHeaders();
46: 
47:         // save current recipients
48:         $headers->addPathHeader('X-Swift-Return-Path', $message->getReturnPath());
49: 
50:         // replace them with the one to send to
51:         $message->setReturnPath($this->_sender);
52:     }
53: 
54:     /**
55:      * Invoked immediately after the Message is sent.
56:      *
57:      * @param Swift_Events_SendEvent $evt
58:      */
59:     public function sendPerformed(Swift_Events_SendEvent $evt)
60:     {
61:         $message = $evt->getMessage();
62: 
63:         // restore original headers
64:         $headers = $message->getHeaders();
65: 
66:         if ($headers->has('X-Swift-Return-Path')) {
67:                 $message->setReturnPath($headers->get('X-Swift-Return-Path')->getAddress());
68:                 $headers->removeAll('X-Swift-Return-Path');
69:         }
70:     }
71: }
72: 
CMS CONTENIDO 4.9.7 API documentation generated by ApiGen