| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | <?php
/*
 * This file is part of SwiftMailer.
 * (c) 2004-2009 Chris Corbyn
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
/**
 * An ESMTP handler.
 * @package Swift
 * @subpackage Transport
 * @author Chris Corbyn
 */
interface Swift_Transport_EsmtpHandler
{
    /**
     * Get the name of the ESMTP extension this handles.
     * @return boolean
     */
    public function getHandledKeyword();
    /**
     * Set the parameters which the EHLO greeting indicated.
     * @param string[] $parameters
     */
    public function setKeywordParams(array $parameters);
    /**
     * Runs immediately after a EHLO has been issued.
     * @param Swift_Transport_SmtpAgent $agent to read/write
     */
    public function afterEhlo(Swift_Transport_SmtpAgent $agent);
    /**
     * Get params which are appended to MAIL FROM:<>.
     * @return string[]
     */
    public function getMailParams();
    /**
     * Get params which are appended to RCPT TO:<>.
     * @return string[]
     */
    public function getRcptParams();
    /**
     * Runs when a command is due to be sent.
     * @param Swift_Transport_SmtpAgent $agent   to read/write
     * @param string                    $command to send
     * @param int[]                     $codes   expected in response
     * @param string[] &$failedRecipients
     * @param boolean &$stop to be set true if the command is now sent
     */
    public function onCommand(Swift_Transport_SmtpAgent $agent, $command, $codes = array(), &$failedRecipients = null, &$stop = false);
    /**
     * Returns +1, -1 or 0 according to the rules for usort().
     * This method is called to ensure extensions can be execute in an appropriate order.
     * @param  string $esmtpKeyword to compare with
     * @return int
     */
    public function getPriorityOver($esmtpKeyword);
    /**
     * Returns an array of method names which are exposed to the Esmtp class.
     * @return string[]
     */
    public function exposeMixinMethods();
    /**
     * Tells this handler to clear any buffers and reset its state.
     */
    public function resetState();
}
 |