. */ //@require 'Swift/Transport/EsmtpBufferWrapper.php'; /** * 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(); }