PHP Class SlightPHP\SMTP

Show file Open project: hetao29/slightphp

Public Properties

Property Type Description
$CRLF string @var string
$SMTP_PORT integer @var int
$do_debug boolean @var bool
$do_verp boolean @var bool

Public Methods

Method Description
Authenticate ( $username, $password ) : boolean Performs SMTP authentication. Must be run after running the Hello() method. Returns true if successfully authenticated.
Close ( ) : void Closes the socket and cleans up the state of the class.
Connect ( $host, $port, $tval = 30 ) : boolean Connect to the server specified on the port specified.
Connected ( ) : boolean Returns true if connected to a server otherwise false
Data ( $msg_data ) : 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 with the message headers and the message body being seperated by and additional .
Expand ( $name ) : string 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.
Hello ( $host = "" ) : boolean Sends the HELO command to the smtp server.
Help ( $keyword = "" ) : string 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.
Mail ( $from ) : 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.
Noop ( ) : boolean Sends the command NOOP to the SMTP server.
Quit ( $close_on_error = true ) : 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.
Recipient ( $to ) : boolean Sends the command RCPT to the SMTP server with the TO: argument of $to.
Reset ( ) : boolean Sends the RSET command to abort and transaction that is currently in progress. Returns true if successful false otherwise.
Send ( $from ) : 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.
SendAndMail ( $from ) : 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.
SendOrMail ( $from ) : 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.
StartTLS ( ) : boolean Initiate a TSL communication with the server.
Turn ( ) : 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
Verify ( $name ) : integer Verifies that the name is recognized by the server.
__construct ( ) : void Initialize the class so that the data is in a known state.

Private Methods

Method Description
SendHello ( $hello, $host ) : boolean Sends a HELO/EHLO command.
get_lines ( ) : string Read in as many lines as possible either before eof or socket timeout occurs on the operation.

Method Details

Authenticate() public method

Performs SMTP authentication. Must be run after running the Hello() method. Returns true if successfully authenticated.
public Authenticate ( $username, $password ) : boolean
return boolean

Close() public method

It is not considered good to use this function without first trying to use QUIT.
public Close ( ) : void
return void

Connect() public method

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 Connect ( $host, $port, $tval = 30 ) : boolean
return boolean

Connected() public method

Returns true if connected to a server otherwise false
public Connected ( ) : boolean
return boolean

Data() public method

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
public Data ( $msg_data ) : boolean
return boolean

Expand() public method

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
public Expand ( $name ) : string
return string array

Hello() public method

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
public Hello ( $host = "" ) : boolean
return boolean

Help() public method

Implements rfc 821: HELP [ ] SMTP CODE SUCCESS: 211,214 SMTP CODE ERROR : 500,501,502,504,421
public Help ( $keyword = "" ) : string
return string

Mail() public method

Implements rfc 821: MAIL FROM: SMTP CODE SUCCESS: 250 SMTP CODE SUCCESS: 552,451,452 SMTP CODE SUCCESS: 500,501,421
public Mail ( $from ) : boolean
return boolean

Noop() public method

Implements from rfc 821: NOOP SMTP CODE SUCCESS: 250 SMTP CODE ERROR : 500, 421
public Noop ( ) : boolean
return boolean

Quit() public method

Implements from rfc 821: QUIT SMTP CODE SUCCESS: 221 SMTP CODE ERROR : 500
public Quit ( $close_on_error = true ) : boolean
return boolean

Recipient() public method

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
public Recipient ( $to ) : boolean
return boolean

Reset() public method

Implements rfc 821: RSET SMTP CODE SUCCESS: 250 SMTP CODE ERROR : 500,501,504,421
public Reset ( ) : boolean
return boolean

Send() public method

Implements rfc 821: SEND FROM: SMTP CODE SUCCESS: 250 SMTP CODE SUCCESS: 552,451,452 SMTP CODE SUCCESS: 500,501,502,421
public Send ( $from ) : boolean
return boolean

SendAndMail() public method

Implements rfc 821: SAML FROM: SMTP CODE SUCCESS: 250 SMTP CODE SUCCESS: 552,451,452 SMTP CODE SUCCESS: 500,501,502,421
public SendAndMail ( $from ) : boolean
return boolean

SendOrMail() public method

Implements rfc 821: SOML FROM: SMTP CODE SUCCESS: 250 SMTP CODE SUCCESS: 552,451,452 SMTP CODE SUCCESS: 500,501,502,421
public SendOrMail ( $from ) : boolean
return boolean

StartTLS() public method

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 StartTLS ( ) : boolean
return boolean success

Turn() public method

Implements from rfc 821: TURN SMTP CODE SUCCESS: 250 SMTP CODE FAILURE: 502 SMTP CODE ERROR : 500, 503
public Turn ( ) : boolean
return boolean

Verify() public method

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
public Verify ( $name ) : integer
return integer

__construct() public method

Initialize the class so that the data is in a known state.
public __construct ( ) : void
return void

Property Details

$CRLF public property

@var string
public string $CRLF
return string

$SMTP_PORT public property

@var int
public int $SMTP_PORT
return integer

$do_debug public property

@var bool
public bool $do_debug
return boolean

$do_verp public property

@var bool
public bool $do_verp
return boolean