Send e-mail ved hjælp af GMail SMTP-serveren fra en PHP-side

Jeg forsøger at sende en e-mail via GMail's SMTP-server fra en PHP-side, men jeg får denne fejl:

authentication failure [SMTP: SMTP server does no support authentication (code: 250, response: mx.google.com at your service, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]

Er der nogen der kan hjælpe? Her er min kode:

<?php
require_once "Mail.php";

$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <ramona@microsoft.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "smtp.gmail.com";
$port = "587";
$username = "testtest@gmail.com";
$password = "testtest";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'port' => $port,
    'auth' => true,
    'username' => $username,
    'password' => $password));

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

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

Din kode ser ikke ud til at bruge TLS (SSL), som er nødvendigt for at levere mail til Google (og bruge port 465 eller 587).

Du kan gøre dette ved at indstille

$host = "ssl://smtp.gmail.com";

Din kode ligner mistænkeligt meget dette eksempel, som henviser til ssl:// i værtsnavnsskemaet.

Kommentarer (0)

Gmail kræver port 465, og det er også koden fra phpmailer :)

Kommentarer (0)

Indstil

'auth' => false,

Se også, om port 25 virker.

Kommentarer (1)