Senden von HTML-Nachrichten durch die BIRNE, während der Verwendung der SMTP-Authentifizierung ein Fehler zurückgegeben

Ich bin versucht, senden Sie eine HTML-Nachricht mithilfe von SMTP-Authentifizierung für Google Mail in PHP. Hier ist das Skript, das ich benutze:

require_once "Mail.php";
require_once 'Mail/mime.php';

$from = "Some Name <[email protected]>";
$to = "Other Name <[email protected]>";
$subject = "This is a test";
$crlf = "\n";

$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "[email protected]";
$password = "mypass";

$headers = array ('From' => $from,
                  'Return-Path' => $from,
                  'Subject' => $subject);

$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'port' => $port,
    'auth' => true,
    'username' => $username,
    'password' => $password));

$mime = new Mail_mime($crlf);
$mime->setTXTBody("This is a test email message");
$mime->setHTMLBody($body);
$body = $mime->get();
$headers = $mime->headers($headers);

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
} else {
  echo("<p>Message successfully sent!</p>");
}

Hinweis: die $body ist eine HTML-Tabelle mit Bildern und anderen Informationen.

Wenn ich das Skript ausführen, schlägt es fehl mit der folgenden Fehlermeldung:

Konnte nicht festgelegt Absender: Einige Namen [SMTP: Invalid response code
received from server (code: 555, Antwort: 5.5.2 Syntax error.
c6sm20541406obd.22)]

Hier ist, was ich versucht habe, um zu sehen, was schief läuft:
1. Mit dem gleichen Skript mit 'Mail' anstelle von 'smtp', d.h.

$smtp = Mail::factory('Mail');

Das funktioniert gut.
2. Mit dem gleichen Skript w/o den mime.php, dies funktioniert auch, aber nicht erlaubt, die zum senden von HTML-E-Mail.

Weiß jemand, wie ich das verbinden kann, so dass ich bin immer noch mit SMTP-Authentifizierung und senden Sie eine HTML-Nachricht?

EDIT:
Hier ist der dump von $mime->headers():

[MIME-Version] => 1.0
[From] => Some Name
[Return-Path] => Some Name
[Subject] => This is a test
[Content-Type] => multipart/alternative;
boundary="=_8662996a1f586248545d9f01f48e916d"
Können Sie dump $mime->headers() bitte?
Ich habe den dump auf die post. Danke.

InformationsquelleAutor Anton Soradoi | 2012-08-28

Schreibe einen Kommentar