XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
SMTP Class Reference

Public Member Functions

 __construct ()
 
 Authenticate ($username, $password)
 
 Close ()
 
 Connect ($host, $port=0, $tval=30)
 
 Connected ()
 
 Data ($msg_data)
 
 getError ()
 
 Hello ($host= '')
 
 Mail ($from)
 
 Quit ($close_on_error=true)
 
 Recipient ($to)
 
 Reset ()
 
 SendAndMail ($from)
 
 StartTLS ()
 
 Turn ()
 

Public Attributes

 $CRLF = "\r\n"
 
 $do_debug
 
 $do_verp = false
 
 $SMTP_PORT = 25
 
 $Version = '5.2.1'
 

Private Member Functions

 get_lines ()
 
 SendHello ($hello, $host)
 

Private Attributes

 $error
 
 $helo_rply
 
 $smtp_conn
 

Detailed 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

Definition at line 46 of file class.smtp.php.

Constructor & Destructor Documentation

SMTP::__construct ( )

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

Returns
void

Definition at line 90 of file class.smtp.php.

Member Function Documentation

SMTP::Authenticate (   $username,
  $password 
)

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

Returns
bool

Definition at line 213 of file class.smtp.php.

References $password, and get_lines().

Here is the call graph for this function:

SMTP::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. public

Returns
void

Definition at line 296 of file class.smtp.php.

Referenced by Connected(), and Quit().

Here is the caller graph for this function:

SMTP::Connect (   $host,
  $port = 0,
  $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 public

Returns
bool

Definition at line 115 of file class.smtp.php.

References $SMTP_PORT, and get_lines().

Here is the call graph for this function:

SMTP::Connected ( )

Returns true if connected to a server otherwise false public

Returns
bool

Definition at line 273 of file class.smtp.php.

References Close().

Here is the call graph for this function:

SMTP::Data (   $msg_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>.

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 public

Returns
bool

Definition at line 329 of file class.smtp.php.

References $pos, and get_lines().

Here is the call graph for this function:

SMTP::get_lines ( )
private

Read in as many lines as possible either before eof or socket timeout occurs on the operation. 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. private

Returns
string

Definition at line 798 of file class.smtp.php.

Referenced by Authenticate(), Connect(), Data(), Mail(), Quit(), Recipient(), Reset(), SendAndMail(), SendHello(), and StartTLS().

Here is the caller graph for this function:

SMTP::getError ( )

Get the current error public

Returns
array

Definition at line 781 of file class.smtp.php.

References $error.

SMTP::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 <SP> <domain> <CRLF>

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

Returns
bool

Definition at line 466 of file class.smtp.php.

References SendHello().

Here is the call graph for this function:

SMTP::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 <SP> FROM:<reverse-path> <CRLF>

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

Returns
bool

Definition at line 536 of file class.smtp.php.

References get_lines().

Here is the call graph for this function:

SMTP::Quit (   $close_on_error = true)

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 public

Returns
bool

Definition at line 579 of file class.smtp.php.

References Close(), and get_lines().

Here is the call graph for this function:

SMTP::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 <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 public

Returns
bool

Definition at line 632 of file class.smtp.php.

References get_lines().

Here is the call graph for this function:

SMTP::Reset ( )

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 public

Returns
bool

Definition at line 675 of file class.smtp.php.

References get_lines().

Here is the call graph for this function:

SMTP::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 <SP> FROM:<reverse-path> <CRLF>

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

Returns
bool

Definition at line 723 of file class.smtp.php.

References get_lines().

Here is the call graph for this function:

SMTP::SendHello (   $hello,
  $host 
)
private

Sends a HELO/EHLO command. private

Returns
bool

Definition at line 496 of file class.smtp.php.

References get_lines().

Referenced by Hello().

Here is the call graph for this function:

Here is the caller graph for this function:

SMTP::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 public

Returns
bool success

Definition at line 171 of file class.smtp.php.

References get_lines().

Here is the call graph for this function:

SMTP::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 <CRLF>

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

Returns
bool

Definition at line 767 of file class.smtp.php.

Member Data Documentation

SMTP::$CRLF = "\r\n"

Definition at line 57 of file class.smtp.php.

SMTP::$do_debug

Definition at line 63 of file class.smtp.php.

SMTP::$do_verp = false

Definition at line 69 of file class.smtp.php.

SMTP::$error
private

Definition at line 82 of file class.smtp.php.

Referenced by getError().

SMTP::$helo_rply
private

Definition at line 83 of file class.smtp.php.

SMTP::$smtp_conn
private

Definition at line 81 of file class.smtp.php.

SMTP::$SMTP_PORT = 25

Definition at line 51 of file class.smtp.php.

Referenced by Connect().

SMTP::$Version = '5.2.1'

Definition at line 75 of file class.smtp.php.


The documentation for this class was generated from the following file: