Class SMTP

Description

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

Located in /libs/PHPMailer/class.smtp.php (line 49)


	
			
Variable Summary
 string $CRLF
 bool $do_debug
 bool $do_verp
Method Summary
 void __construct ()
 bool Authenticate ( $username,  $password)
 void Close ()
 bool Connect ( $host, [ $port = 0], [ $tval = 30])
 bool Connected ()
 bool Data ( $msg_data)
 array getError ()
 bool Hello ([ $host = ''])
 bool Mail ( $from)
 bool Quit ([ $close_on_error = true])
 bool Recipient ( $to)
 bool Reset ()
 bool SendAndMail ( $from)
 bool StartTLS ()
 bool Turn ()
Variables
string $CRLF = "\r\n" (line 60)

SMTP reply line ending

  • access: public
bool $do_debug (line 66)

Sets whether debugging is turned on

  • access: public
bool $do_verp = false (line 72)

Sets VERP use on/off (default is off)

  • access: public
int $SMTP_PORT = 25 (line 54)

SMTP server port

  • access: public
Methods
Constructor __construct (line 87)

Initialize the class so that the data is in a known state.

  • access: public
void __construct ()
Authenticate (line 210)

Performs SMTP authentication. Must be run after running the Hello() method. Returns true if successfully authenticated.

  • access: public
bool Authenticate ( $username,  $password)
  • $username
  • $password
Close (line 293)

Closes the socket and cleans up the state of the class.

It is not considered good to use this function without first trying to use QUIT.

  • access: public
void Close ()
Connect (line 112)

Connect to the server specified on the port specified.

If the port is not specified use the default SMTP_PORT. If tval is specified then a connection will try and be established with the server for that number of seconds. If tval is not specified the default is 30 seconds to try on the connection.

SMTP CODE SUCCESS: 220 SMTP CODE FAILURE: 421

  • access: public
bool Connect ( $host, [ $port = 0], [ $tval = 30])
  • $host
  • $port
  • $tval
Connected (line 270)

Returns true if connected to a server otherwise false

  • access: public
bool Connected ()
Data (line 326)

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>.

Implements rfc 821: DATA <CRLF>

SMTP CODE INTERMEDIATE: 354 [data] <CRLF>.<CRLF> SMTP CODE SUCCESS: 250 SMTP CODE FAILURE: 552,554,451,452 SMTP CODE FAILURE: 451,554 SMTP CODE ERROR : 500,501,503,421

  • access: public
bool Data ( $msg_data)
  • $msg_data
getError (line 778)

Get the current error

  • access: public
array getError ()
Hello (line 463)

Sends the HELO command to the smtp server.

This makes sure that we and the server are in the same known state.

Implements from rfc 821: HELO <SP> <domain> <CRLF>

SMTP CODE SUCCESS: 250 SMTP CODE ERROR : 500, 501, 504, 421

  • access: public
bool Hello ([ $host = ''])
  • $host
Mail (line 533)

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.

Implements rfc 821: MAIL <SP> FROM:<reverse-path> <CRLF>

SMTP CODE SUCCESS: 250 SMTP CODE SUCCESS: 552,451,452 SMTP CODE SUCCESS: 500,501,421

  • access: public
bool Mail ( $from)
  • $from
Quit (line 576)

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.

Implements from rfc 821: QUIT <CRLF>

SMTP CODE SUCCESS: 221 SMTP CODE ERROR : 500

  • access: public
bool Quit ([ $close_on_error = true])
  • $close_on_error
Recipient (line 629)

Sends the command RCPT to the SMTP server with the TO: argument of $to.

Returns true if the recipient was accepted false if it was rejected.

Implements from rfc 821: RCPT <SP> TO:<forward-path> <CRLF>

SMTP CODE SUCCESS: 250,251 SMTP CODE FAILURE: 550,551,552,553,450,451,452 SMTP CODE ERROR : 500,501,503,421

  • access: public
bool Recipient ( $to)
  • $to
Reset (line 672)

Sends the RSET command to abort and transaction that is currently in progress. Returns true if successful false otherwise.

Implements rfc 821: RSET <CRLF>

SMTP CODE SUCCESS: 250 SMTP CODE ERROR : 500,501,504,421

  • access: public
bool Reset ()
SendAndMail (line 720)

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.

Implements rfc 821: SAML <SP> FROM:<reverse-path> <CRLF>

SMTP CODE SUCCESS: 250 SMTP CODE SUCCESS: 552,451,452 SMTP CODE SUCCESS: 500,501,502,421

  • access: public
bool SendAndMail ( $from)
  • $from
StartTLS (line 168)

Initiate a TLS communication with the server.

SMTP CODE 220 Ready to start TLS SMTP CODE 501 Syntax error (no parameters allowed) SMTP CODE 454 TLS not available due to temporary reason

  • return: success
  • access: public
bool StartTLS ()
Turn (line 764)

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

Implements from rfc 821: TURN <CRLF>

SMTP CODE SUCCESS: 250 SMTP CODE FAILURE: 502 SMTP CODE ERROR : 500, 503

  • access: public
bool Turn ()

Documentation generated on Sun, 04 Apr 2010 22:43:39 +0200 by phpDocumentor 1.4.1