
skb
Ich versuche, eine E-Mail über den SMTP-Server von GMail von einer PHP-Seite zu senden, aber ich erhalte diese Fehlermeldung:
Authentifizierungsfehler [SMTP: SMTP server does no support authentication (code: 250, response: mx.google.com at your service, [98.117.99.235] GRÖSSE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]
Kann jemand helfen? Hier ist mein Code:
<?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>");
}
?>

pavan kumar
// Pear Mail Library
require_once "Mail.php";
$from = '<fromaddress@gmail.com>';
$to = '<toaddress@yahoo.com>';
$subject="Hi!";
$body = "Hi,\n\nHow are you?";
$headers = array(
'From' => $from,
'To' => $to,
'Subject' => $subject
);
$smtp = Mail::factory('smtp', array(
'host' => 'ssl://smtp.gmail.com',
'port' => '465',
'auth' => true,
'username' => 'johndoe@gmail.com',
'password' => 'passwordxxx'
));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo('<p>' . $mail->getMessage() . '</p>');
} else {
echo('<p>Message successfully sent!</p>');
}

Shasi Kanth
Verwenden Swift-Mailerist es ganz einfach, eine E-Mail über Gmail-Anmeldeinformationen zu senden:
<?php
require_once 'swift/lib/swift_required.php';
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
->setUsername('GMAIL_USERNAME')
->setPassword('GMAIL_PASSWORD');
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Test Subject')
->setFrom(array('abc@example.com' => 'ABC'))
->setTo(array('xyz@test.com'))
->setBody('This is a test mail.');
$result = $mailer->send($message);
?>
Ihr Code scheint TLS (SSL) nicht zu verwenden, was der Fall ist erforderlich, um E-Mails an Google zu senden (und die Ports 465 oder 587 verwenden).
Sie können dies durch Einstellung tun
$host = "ssl://smtp.gmail.com";
Ihr Code sieht verdächtig aus dieses Beispiel was sich auf ssl:// im Hostnamenschema bezieht.

Madan Sapkota
Pear Mail kann ich nicht empfehlen. Es wurde seit 2010 nicht mehr aktualisiert. Lesen Sie auch die Quelldateien; Der Quellcode ist fast veraltet, im PHP 4-Stil geschrieben und es wurden viele Fehler / Bugs gepostet (Google it). Ich verwende SwiftMailer.
Schneller Mailer lässt sich in jede in PHP 5 geschriebene Webanwendung integrieren und bietet einen flexiblen und eleganten objektorientierten Ansatz zum Senden von E-Mails mit einer Vielzahl von Funktionen.
Senden Sie E-Mails mit SMTP, Sendmail, Postfix oder einer eigenen benutzerdefinierten Transportimplementierung.
Unterstützen Sie Server, die Benutzername und Passwort und/oder Verschlüsselung erfordern.
Schützen Sie sich vor Header-Injection-Angriffen, ohne den Inhalt der Anforderungsdaten zu entfernen.
Senden Sie MIME-konforme HTML/mehrteilige E-Mails.
Verwenden Sie ereignisgesteuerte Plugins, um die Bibliothek anzupassen.
Behandeln Sie große Anhänge und Inline-/eingebettete Bilder mit geringer Speichernutzung.
Es ist eine kostenlose und Open Source, die Sie können Laden Sie Swift Mailer herunter und auf Ihren Server hochladen. (Die Funktionsliste wird von der Eigentümer-Website kopiert).
Das funktionierende Beispiel von Gmail SSL/SMTP und Swift Mailer ist hier…
// Swift Mailer Library
require_once '../path/to/lib/swift_required.php';
// Mail Transport
$transport = Swift_SmtpTransport::newInstance('ssl://smtp.gmail.com', 465)
->setUsername('username@gmail.com') // Your Gmail Username
->setPassword('my_secure_gmail_password'); // Your Gmail Password
// Mailer
$mailer = Swift_Mailer::newInstance($transport);
// Create a message
$message = Swift_Message::newInstance('Wonderful Subject Here')
->setFrom(array('sender@example.com' => 'Sender Name')) // can be $_POST['email'] etc...
->setTo(array('receiver@example.com' => 'Receiver Name')) // your email / multiple supported.
->setBody('Here is the <strong>message</strong> itself. It can be text or <h1>HTML</h1>.', 'text/html');
// Send the message
if ($mailer->send($message)) {
echo 'Mail sent successfully.';
} else {
echo 'I am sure, your configuration are not correct. :(';
}

Deep Raghav
<?php
date_default_timezone_set('America/Toronto');
require_once('class.phpmailer.php');
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
$mail = new PHPMailer();
$body = "gdssdh";
//$body = eregi_replace("[\]",'',$body);
$mail->IsSMTP(); // telling the class to use SMTP
//$mail->Host = "ssl://smtp.gmail.com"; // SMTP server
$mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "user@gmail.com"; // GMAIL username
$mail->Password = "password"; // GMAIL password
$mail->SetFrom('contact@prsps.in', 'PRSPS');
//$mail->AddReplyTo("user2@gmail.com', 'First Last");
$mail->Subject = "PRSPS password";
//$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
$address = "user2@yahoo.co.in";
$mail->AddAddress($address, "user2");
//$mail->AddAttachment("images/phpmailer.gif"); // attachment
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
?>

Sam Apostel
SwiftMailer kann E-Mail über externe Server versenden.
Hier ist ein Beispiel, das zeigt, wie man einen Gmail-Server verwendet:
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";
//Connect to localhost on port 25
$swift =& new Swift(new Swift_Connection_SMTP("localhost"));
//Connect to an IP address on a non-standard port
$swift =& new Swift(new Swift_Connection_SMTP("217.147.94.117", 419));
//Connect to Gmail (PHP5)
$swift = new Swift(new Swift_Connection_SMTP(
"smtp.gmail.com", Swift_Connection_SMTP::PORT_SECURE, Swift_Connection_SMTP::ENC_TLS));

s01ipsist
Der in der Frage aufgeführte Code erfordert zwei Änderungen
$host = "ssl://smtp.gmail.com";
$port = "465";
Port 465 wird für eine SSL-Verbindung benötigt.
9933800cookie-checkSenden Sie E-Mails mit dem GMail-SMTP-Server von einer PHP-Seiteyes