You are here

function SMTP::Recipient in SMTP Authentication Support 5

Same name and namespace in other branches
  1. 7.2 smtp.transport.inc \SMTP::Recipient()
  2. 7 smtp.transport.inc \SMTP::Recipient()

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 @access public

Return value

bool

File

./smtp.module, line 2694
Enables drupal to send email directly to an SMTP server using authentication. Uses the PHPMailer class by Brent R. Matzelle.

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. @package PHPMailer @author Chris Ryan

Code

function Recipient($to) {
  $this->error = null;

  # so no confusion is caused
  if (!$this
    ->connected()) {
    $this->error = array(
      "error" => "Called Recipient() without being connected",
    );
    return false;
  }
  fputs($this->smtp_conn, "RCPT TO:<" . $to . ">" . $this->CRLF);
  $rply = $this
    ->get_lines();
  $code = substr($rply, 0, 3);
  if ($this->do_debug >= 2) {
    echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
  }
  if ($code != 250 && $code != 251) {
    $this->error = array(
      "error" => "RCPT not accepted from server",
      "smtp_code" => $code,
      "smtp_msg" => substr($rply, 4),
    );
    if ($this->do_debug >= 1) {
      echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF;
    }
    return false;
  }
  return true;
}