Gmail SMTP zum senden von E-Mails mit PHP
Ich habe ein problem das ich schon seit über einer Woche und kann nicht finden, eine Antwort. Als Vorwort zu dieser allen, ich habe im internet gesucht, für alle möglichen Dinge. Es gibt eine Menge Antworten für dieses problem, aber keiner scheint mir helfen.
Ich bin etwas neu in PHP und eine Menge von dem Zeug bitte ich um (verwende es in den letzten Monaten). Lassen Sie mich, um die Basis für das problem:
Ich bin auf einer Schule Netzwerk mit meinem eigenen server in meinem Zimmer im Studentenwohnheim. Ich bin erstellen einer website, wo ich brauche, um zu überprüfen, eine Benutzer-E-Mail, aber die grundlegenden PHP-Funktion mail() funktioniert nicht. Ich habe gesagt, dass ich brauchen, um SMTP benutzen. Also beschloss ich, die einfachste und billigste Weg war mit Gmail SMTP. Ich erstellte einen account bei Gmail aufgerufen [email protected] für diesem Grund. Hier ist der code.
echo "starting mail sending";
require_once("pear/share/pear/Mail.php");
echo "1";
$from = "PersonA `<[email protected]`>"; $to = "`<[email protected]`>"; $subject = "Activate your account"; $body = "Hey";
$host = "ssl://smtp.gmail.com"; $port = "465"; //also tried 587 $username = "[email protected]"; $password = "password";
echo "2";
$headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject);
echo "3";
$mailer_params['host'] = $host; $mailer_params['port'] = $port; $mailer_params['auth'] = true; $mailer_params['username'] = $username; $mailer_params['password'] = $password;
$smtp = Mail::factory('smtp', $mailer_params);
echo "4";
error_reporting(E_ALL);
echo "5";
if (PEAR::isError($smtp)) { die("Error : " . $smtp->getMessage()); }
echo "6";
$mail = $smtp->send($to, $headers, $body) or die("Something bad happened");
echo "7";
if (PEAR::isError($mail)) {echo($mail->getMessage();} else {echo(Message successfully sent!);}
echo "mail sent hopefully.";
Also im Grunde der code Stoppt in der Zeile:
$mail = $smtp->send($to, %headers, $);
Ich habe versucht, Druckfehler, aber ich habe einfach keine Ahnung, was jetzt zu tun sei. Tipps und Hilfe ist willkommen. Danke!!
InformationsquelleAutor ingshtrom | 2011-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Klasse verwenden: http://www.phpclasses.org/package/14-PHP-Sends-e-mail-messages-via-SMTP-protocol.html
Den Beispiel-code, den ich verwenden:
Der link zu SASL Paket war irgendwo auf dieser Seite. Hier ist der direkte link: phpclasses.org/package/...
InformationsquelleAutor Jorj
Wenn du mit Linux ich empfehle die Einrichtung von postfix auf Ihrem lokalen Rechner und Sie fordern, dass das relay die E-Mail weiterleitet, über einen externen SMTP-Dienst, in Ihrem Fall Gmail.
http://bookmarks.honewatson.com/2008/04/20/postfix-gmail-smtp-relay/
Der Grund dafür ist, dass Ihre PHP-Skript-timeout incase es gibt eine Verzögerung Kontakt Gmail. So verwenden Sie die Postfix-queue-der E-Mail auf dem lokalen server, damit der PHP-Skript-Ausführung sterben und Vertrauen Postfix zum senden der E-Mails über Gmail.
Wenn Sie Windows verwenden, ich bin sicher, Sie finden eine gleichwertige SMTP-relay-Anwendung (sollte gebaut werden, als eine grobe Schätzung).
InformationsquelleAutor Devraj
Viele öffentliche Netzwerke blockieren-verbindungen auf dem SMTP-port auf remote-Computern Spammer in Ihrem Netz.
Haben Sie zwei Möglichkeiten:
InformationsquelleAutor cweiske
Ich benutze immer diese zum senden von E-mails mit gmail als SMTP-server.
Sehr Einfach zu konfigurieren
Seine arbeiten gut auf meinem laptop.
Ich habe gerade versucht es auf meinem Mac und es funktioniert gut. Keine Ahnung, warum es nicht funktioniert auf meinem server.
InformationsquelleAutor Arihant Nahata