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.

package PHPMailer
author Chris Ryan

 Methods

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

Authenticate($username, $password) : boolean
access public

Parameters

$username

$password

Returns

boolean

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

Close() : void

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

access public

Connect to the server specified on the port specified.

Connect($host, $port = 0, $tval = 30) : boolean

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

Parameters

$host

$port

$tval

Returns

boolean

Returns true if connected to a server otherwise false

Connected() : boolean
access private

Returns

boolean

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

Data($msg_data) : boolean

Implements rfc 821: DATA

SMTP CODE INTERMEDIATE: 354 [data]

. 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

Parameters

$msg_data

Returns

boolean

Expand takes the name and asks the server to list all the people who are members of the _list_. Expand will return back and array of the result or false if an error occurs.

Expand($name) : string

Each value in the array returned has the format of: [ ] The definition of is defined in rfc 821

Implements rfc 821: EXPN

SMTP CODE SUCCESS: 250 SMTP CODE FAILURE: 550 SMTP CODE ERROR : 500,501,502,504,421

access public

Parameters

$name

Returns

stringarray

Sends the HELO command to the smtp server.

Hello($host = "") : boolean

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

Implements from rfc 821: HELO

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

access public

Parameters

$host

Returns

boolean

Gets help information on the keyword specified. If the keyword is not specified then returns generic help, ussually contianing A list of keywords that help is available on. This function returns the results back to the user. It is up to the user to handle the returned data. If an error occurs then false is returned with $this->error set appropiately.

Help($keyword = "") : string

Implements rfc 821: HELP [ ]

SMTP CODE SUCCESS: 211,214 SMTP CODE ERROR : 500,501,502,504,421

access public

Parameters

$keyword

Returns

string

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.

Mail($from) : boolean

Implements rfc 821: MAIL FROM:

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

access public

Parameters

$from

Returns

boolean

Sends the command NOOP to the SMTP server.

Noop() : boolean

Implements from rfc 821: NOOP

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

access public

Returns

boolean

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.

Quit($close_on_error = true) : boolean

Implements from rfc 821: QUIT

SMTP CODE SUCCESS: 221 SMTP CODE ERROR : 500

access public

Parameters

$close_on_error

Returns

boolean

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

Recipient($to) : boolean

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

Implements from rfc 821: RCPT TO:

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

access public

Parameters

$to

Returns

boolean

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

Reset() : boolean

Implements rfc 821: RSET

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

access public

Returns

boolean

SMTP()

SMTP() 

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.

Send($from) : boolean

Implements rfc 821: SEND FROM:

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

access public

Parameters

$from

Returns

boolean

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.

SendAndMail($from) : boolean

Implements rfc 821: SAML FROM:

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

access public

Parameters

$from

Returns

boolean

Sends a HELO/EHLO command.

SendHello($hello, $host) : boolean
access private

Parameters

$hello

$host

Returns

boolean

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 or mail it to them if they are not.

SendOrMail($from) : boolean

Implements rfc 821: SOML FROM:

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

access public

Parameters

$from

Returns

boolean

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

Turn() : boolean

Implements from rfc 821: TURN

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

access public

Returns

boolean

Verifies that the name is recognized by the server.

Verify($name) : integer

Returns false if the name could not be verified otherwise the response from the server is returned.

Implements rfc 821: VRFY

SMTP CODE SUCCESS: 250,251 SMTP CODE FAILURE: 550,551,553 SMTP CODE ERROR : 500,501,502,421

access public

Parameters

$name

Returns

integer

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

__construct() : void
access public

Read in as many lines as possible either before eof or socket timeout occurs on the operation.

get_lines() : string

With SMTP we can tell if we have more lines to read if the 4th character is '-' symbol. If it is a space then we don't need to read anything else.

access private

Returns

string

 Properties

 

SMTP reply line ending

$CRLF 

Default

"\r\n"

@var string

 

SMTP server port

$SMTP_PORT 

Default

25

@var int

 

Sets whether debugging is turned on

$do_debug 

Default

@var bool

 

Sets VERP use on/off (default is off)

$do_verp 

Default

false

@var bool

 

$error

$error 

Default

 

$helo_rply

$helo_rply 

Default

 

$smtp_conn

$smtp_conn 

Default