\SMTP

PHP RFC821 SMTP client

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.

Synopsis

class SMTP {
}

Members

protected

  • $error — string
  • $helo_rply — string
  • $smtp_conn — resource

public

  • $CRLF
    SMTP reply line ending (don't change) @var string
  • $Debugoutput — string
    Sets the function/method to use for debugging output.
  • $SMTP_PORT
    SMTP server port @var int
  • $Timelimit — int
    Sets the SMTP timelimit value for reads, in seconds
  • $Timeout — int
    Sets the SMTP timeout value for reads, in seconds
  • $Version — string
    Sets the SMTP PHPMailer Version number
  • $do_debug
    Debug output level; 0 for no output @var int
  • $do_verp
    Sets VERP use on/off (default is off) @var bool

Methods

protected

  • SendHello() — Sends a HELO/EHLO command.
  • edebug() — Outputs debugging info via user-defined method
  • get_lines() — Read in as many lines as possible either before eof or socket timeout occurs on the operation.
  • hmac() — Works like hash_hmac('md5', $data, $key) in case that function is not available

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 an SMTP server
  • 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 separated 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
  • client_send() — Sends data to the server
  • getError() — Get the current error