include/phpmailer/class.smtp.php
PHPMailer - PHP SMTP email transport class NOTE: Designed for use with PHP version 5 and up
- Author
- Andy Prevost
- Author
- Marcus Bointon
- Author
- Jim Jagielski
- Copyright
- 2004 - 2008 Andy Prevost
- Copyright
- 2010 - 2012 Jim Jagielski
- License
- Distributed under the Lesser General Public License (LGPL)
- Package
- PHPMailer
\SMTP
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
- Used_by
- \PHPMailer::SmtpSend()
- Used_by
- \PHPMailer::SmtpConnect()
- Used_by
- \SugarPHPMailer::SmtpSend()
Properties
string
$Version= ''5.2.1''
Sets the SMTP PHPMailer Version number
'5.2.1'
Details- Type
- string
$do_verp= 'false'
Sets VERP use on/off (default is off)
@var bool
false
Details- Type
- n/a
Methods
Authenticate(
$username, $password
)
:
bool
Performs SMTP authentication. Must be run after running the Hello() method. Returns true if successfully authenticated.
Name | Type | Description |
---|---|---|
$username | ||
$password |
Type | Description |
---|---|
bool |
- Access
- public
Close(
)
:
void
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
Connect(
$host, $port
=
0, $tval
=
30
)
:
bool
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
Name | Type | Description |
---|---|---|
$host | ||
$port | ||
$tval |
Type | Description |
---|---|
bool |
- Access
- public
Connected(
)
:
bool
Returns true if connected to a server otherwise false
Type | Description |
---|---|
bool |
- Access
- public
Data(
$msg_data
)
:
bool
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
Implements rfc 821: DATA
SMTP CODE INTERMEDIATE: 354
[data]
Name | Type | Description |
---|---|---|
$msg_data |
Type | Description |
---|---|
bool |
- Access
- public
Hello(
$host
=
''
)
:
bool
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
Name | Type | Description |
---|---|---|
$host |
Type | Description |
---|---|
bool |
- Access
- public
Mail(
$from
)
:
bool
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
SMTP CODE SUCCESS: 250 SMTP CODE SUCCESS: 552,451,452 SMTP CODE SUCCESS: 500,501,421
Name | Type | Description |
---|---|---|
$from |
Type | Description |
---|---|
bool |
- Access
- public
Quit(
$close_on_error
=
true
)
:
bool
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
SMTP CODE SUCCESS: 221 SMTP CODE ERROR : 500
Name | Type | Description |
---|---|---|
$close_on_error |
Type | Description |
---|---|
bool |
- Access
- public
Recipient(
$to
)
:
bool
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
SMTP CODE SUCCESS: 250,251 SMTP CODE FAILURE: 550,551,552,553,450,451,452 SMTP CODE ERROR : 500,501,503,421
Name | Type | Description |
---|---|---|
$to |
Type | Description |
---|---|
bool |
- Access
- public
Reset(
)
:
bool
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
Type | Description |
---|---|
bool |
- Access
- public
SendAndMail(
$from
)
:
bool
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
SMTP CODE SUCCESS: 250 SMTP CODE SUCCESS: 552,451,452 SMTP CODE SUCCESS: 500,501,502,421
Name | Type | Description |
---|---|---|
$from |
Type | Description |
---|---|
bool |
- Access
- public
SendHello(
$hello, $host
)
:
bool
Sends a HELO/EHLO command.
Name | Type | Description |
---|---|---|
$hello | ||
$host |
Type | Description |
---|---|
bool |
- Access
- private
StartTLS(
)
:
bool
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
Type | Description |
---|---|
bool | success |
- Access
- public
Turn(
)
:
bool
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
Type | Description |
---|---|
bool |
- Access
- public
__construct(
)
:
void
Initialize the class so that the data is in a known state.
- Access
- public
get_lines(
)
:
string
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.
Type | Description |
---|---|
string |
- Access
- private