Próbuję wysłać wiadomość HTML podczas korzystania z uwierzytelniania SMTP do Gmaila w PHP. Oto skrypt, który używam:Wysyłanie wiadomości HTML za pośrednictwem PEAR podczas korzystania z uwierzytelniania SMTP zwraca błąd
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>");
}
Uwaga:$body
jest tabela HTML z obrazami i innych informacji.
Kiedy wykonać skrypt nie powiedzie się z powodu następującego błędu:
Failed to set sender: Some name [SMTP: Invalid response code received from server (code: 555, response: 5.5.2 Syntax error. c6sm20541406obd.22)]
Oto, co starałem się zobaczyć, co się dzieje źle: 1. Stosując ten sam skrypt, używając „poczta” zamiast "smtp", tj.
$smtp = Mail::factory('Mail');
Działa to dobrze. 2. Korzystanie z tego samego skryptu bez/z mime.php, to również działa, ale nie pozwala na wysyłanie wiadomości e-mail w formacie HTML.
Czy ktoś wie, jak połączyć te dwa elementy, aby nadal korzystać z uwierzytelniania SMTP: i wysłać wiadomość HTML?
EDIT: Oto zrzut $mime->headers()
:
[MIME-Version] => 1.0
[From] => Some Name
[Return-Path] => Some Name
[Subject] => This is a test
[Content-Type] => multipart/alternative;
boundary="=_8662996a1f586248545d9f01f48e916d"
Czy możesz zrzucić '$ mime-> nagłówki()' proszę? –
Dodałem zrzut do posta. Dzięki. –