class SMTP


Located at : UKNOWVA_ROOT/libraries/phpmailer/smtp.php

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

Properties

$SMTP_PORT SMTP server port
$CRLF SMTP reply line ending
$do_debug Sets whether debugging is turned on
$do_verp Sets VERP use on/off (default is off)

Methods

void
__construct()

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

bool
Connect($host, $port, $tval = 30)

Connect to the server specified on the port specified.

bool
StartTLS()

Initiate a TLS communication with the server.

bool
Authenticate($username, $password)

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

bool
Connected()

Returns true if connected to a server otherwise false

void
Close()

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

bool
Data($msg_data)

Issues a data command and sends the msgdata to the server finializing the mail transaction. $msgdata is the message that is to be send with the headers. Each header needs to be on a single line followed by a with the message headers and the message body being seperated by and additional .

bool
Hello($host = '')

Sends the HELO command to the smtp server.

bool
Mail($from)

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.

bool
Quit($close_on_error = true)

Sends the quit command to the server and then closes the socket if there is no error or the $closeonerror argument is true.

bool
Recipient($to)

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

bool
Reset()

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

bool
SendAndMail($from)

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.

bool
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

array
getError()

Get the current error

Details

at line 87
void __construct()

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

Return Value

void

at line 112
bool Connect($host, $port, $tval = 30)

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

Parameters

$host
$port
$tval

Return Value

bool

at line 168
bool StartTLS()

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 Value

bool success

at line 210
bool Authenticate($username, $password)

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

Parameters

$username
$password

Return Value

bool

at line 270
bool Connected()

Returns true if connected to a server otherwise false

Return Value

bool

at line 293
void Close()

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.

Return Value

void

at line 326
bool Data($msg_data)

Issues a data command and sends the msgdata to the server finializing the mail transaction. $msgdata is the message that is to be send with the headers. Each header needs to be on a single line followed by a with the message headers and the message body being seperated by and additional .

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

Parameters

$msg_data

Return Value

bool

at line 464
bool Hello($host = '')

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

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

Parameters

$host

Return Value

bool

at line 534
bool Mail($from)

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 FROM:

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

Parameters

$from

Return Value

bool

at line 577
bool Quit($close_on_error = true)

Sends the quit command to the server and then closes the socket if there is no error or the $closeonerror argument is true.

Implements from rfc 821: QUIT

SMTP CODE SUCCESS: 221 SMTP CODE ERROR : 500

Parameters

$close_on_error

Return Value

bool

at line 630
bool Recipient($to)

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 TO:

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

Parameters

$to

Return Value

bool

at line 673
bool Reset()

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

Implements rfc 821: RSET

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

Return Value

bool

at line 721
bool SendAndMail($from)

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 FROM:

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

Parameters

$from

Return Value

bool

at line 765
bool 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

Implements from rfc 821: TURN

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

Return Value

bool

at line 779
array getError()

Get the current error

Return Value

array