Added feature #15998: Create a new API to send mails based on SwiftMailer to replace...
[Packages/TYPO3.CMS.git] / typo3 / contrib / swiftmailer / classes / Swift / Transport / EsmtpHandler.php
1 <?php
2
3 /*
4 * This file is part of SwiftMailer.
5 * (c) 2004-2009 Chris Corbyn
6 *
7 * For the full copyright and license information, please view the LICENSE
8 * file that was distributed with this source code.
9 */
10
11 //@require 'Swift/Transport/EsmtpBufferWrapper.php';
12
13 /**
14 * An ESMTP handler.
15 * @package Swift
16 * @subpackage Transport
17 * @author Chris Corbyn
18 */
19 interface Swift_Transport_EsmtpHandler
20 {
21
22 /**
23 * Get the name of the ESMTP extension this handles.
24 * @return boolean
25 */
26 public function getHandledKeyword();
27
28 /**
29 * Set the parameters which the EHLO greeting indicated.
30 * @param string[] $parameters
31 */
32 public function setKeywordParams(array $parameters);
33
34 /**
35 * Runs immediately after a EHLO has been issued.
36 * @param Swift_Transport_SmtpAgent $agent to read/write
37 */
38 public function afterEhlo(Swift_Transport_SmtpAgent $agent);
39
40 /**
41 * Get params which are appended to MAIL FROM:<>.
42 * @return string[]
43 */
44 public function getMailParams();
45
46 /**
47 * Get params which are appended to RCPT TO:<>.
48 * @return string[]
49 */
50 public function getRcptParams();
51
52 /**
53 * Runs when a command is due to be sent.
54 * @param Swift_Transport_SmtpAgent $agent to read/write
55 * @param string $command to send
56 * @param int[] $codes expected in response
57 * @param string[] &$failedRecipients
58 * @param boolean &$stop to be set true if the command is now sent
59 */
60 public function onCommand(Swift_Transport_SmtpAgent $agent,
61 $command, $codes = array(), &$failedRecipients = null, &$stop = false);
62
63 /**
64 * Returns +1, -1 or 0 according to the rules for usort().
65 * This method is called to ensure extensions can be execute in an appropriate order.
66 * @param string $esmtpKeyword to compare with
67 * @return int
68 */
69 public function getPriorityOver($esmtpKeyword);
70
71 /**
72 * Returns an array of method names which are exposed to the Esmtp class.
73 * @return string[]
74 */
75 public function exposeMixinMethods();
76
77 /**
78 * Tells this handler to clear any buffers and reset its state.
79 */
80 public function resetState();
81
82 }