public function SMTP::Mail in SMTP Authentication Support 7.2
Same name and namespace in other branches
- 5 smtp.module \SMTP::Mail()
- 7 smtp.transport.inc \SMTP::Mail()
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 @access public
Return value
bool
File
- ./
smtp.transport.inc, line 538 - SMTP mail transport class for the smtp module,based on code of the phpmailer library, customized and relicensed to GPLv2
Class
- 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
Code
public function Mail($from) {
$this->error = NULL;
// so no confusion is caused
if (!$this
->connected()) {
$this->error = array(
"error" => "Called Mail() without being connected",
);
return FALSE;
}
$useVerp = $this->do_verp ? "XVERP" : "";
fputs($this->smtp_conn, "MAIL FROM:<" . $from . ">" . $useVerp . $this->CRLF);
$rply = $this
->get_lines();
$code = substr($rply, 0, 3);
if ($this->do_debug >= 2) {
drupal_set_message(t("SMTP -> FROM SERVER: @rply", array(
"@rply" => $rply,
)));
}
if ($code != 250) {
$this->error = array(
"error" => "MAIL not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply, 4),
);
if ($this->do_debug >= 1) {
drupal_set_message(t("SMTP -> ERROR: @error: @rply", array(
"@error" => $this->error["error"],
"@rply" => $rply,
)));
}
return FALSE;
}
return TRUE;
}