\SMTP
SMTP is rfc 821 compliant and implements all the rfc 821 SMTP commands except TURN which will always return a not implemented error. SMTP also provides some utility methods for sending mail to an SMTP server.
original author: Chris Ryan
Synopsis
class SMTP
{
- // members
- public integer $SMTP_PORT = 25;
- public string $CRLF = "\r\n";
- public $do_debug;
- public boolean $do_verp = false;
- public string $Version = '5.2.1';
- private $smtp_conn;
- private $error;
- private $helo_rply;
- // methods
- public void __construct()
- public bool Connect()
- public bool StartTLS()
- public bool Authenticate()
- public bool Connected()
- public void Close()
- public bool Data()
- public bool Hello()
- private bool SendHello()
- public bool Mail()
- public bool Quit()
- public bool Recipient()
- public bool Reset()
- public bool SendAndMail()
- public bool Turn()
- public array getError()
- private string get_lines()
Members
private
- $error
- $helo_rply
- $smtp_conn
public
-
$CRLF
SMTP reply line ending @var string -
$SMTP_PORT
SMTP server port @var int - $Version
—
string
Sets the SMTP PHPMailer Version number -
$do_debug
Sets whether debugging is turned on @var bool -
$do_verp
Sets VERP use on/off (default is off) @var bool
Methods
private
- SendHello() — Sends a HELO/EHLO command.
- get_lines() — Read in as many lines as possible either before eof or socket timeout occurs on the operation.
public
- __construct() — Initialize the class so that the data is in a known state.
- Authenticate() — Performs SMTP authentication. Must be run after running the Hello() method. Returns true if successfully authenticated.
- Close() — Closes the socket and cleans up the state of the class.
- Connect() — Connect to the server specified on the port specified.
- Connected() — Returns true if connected to a server otherwise false
- Data() — Issues a data command and sends the msg_data to the server finializing the mail transaction. $msg_data is the message that is to be send with the headers. Each header needs to be on a single line followed by a <CRLF> with the message headers and the message body being seperated by and additional <CRLF>.
- Hello() — Sends the HELO command to the smtp server.
- Mail() — Starts a mail transaction from the email address specified in $from. Returns true if successful or false otherwise. If True the mail transaction is started and then one or more Recipient commands may be called followed by a Data command.
- Quit() — Sends the quit command to the server and then closes the socket if there is no error or the $close_on_error argument is true.
- Recipient() — Sends the command RCPT to the SMTP server with the TO: argument of $to.
- Reset() — Sends the RSET command to abort and transaction that is currently in progress. Returns true if successful false otherwise.
- SendAndMail() — Starts a mail transaction from the email address specified in $from. Returns true if successful or false otherwise. If True the mail transaction is started and then one or more Recipient commands may be called followed by a Data command. This command will send the message to the users terminal if they are logged in and send them an email.
- StartTLS() — Initiate a TLS communication with the server.
- Turn() — This is an optional command for SMTP that this class does not support. This method is here to make the RFC821 Definition complete for this class and __may__ be implimented in the future
- getError() — Get the current error