PHPMailer funktioniert nicht auf 000webhost
Dieser code scheint zu funktionieren in Xampp auf meinem mac localhost, aber es scheint nicht zu funktionieren auf meinem freien 000webhost-account. Ich habe bereits versucht, loszuwerden, SSL, aber es hat nicht geholfen. Beachten Sie, dass dieses Programm get-Variablen aus einer externen form.
<?php
$subject = htmlentities($_POST['subject']);
$email = $_POST['email'];
$message = htmlentities($_POST['message']);
require_once 'PHPMailer/PHPMailerAutoload.php';
$m = new PHPMailer;
$m->isSMTP();
$m->SMTPAuth = true;
//$m->SMTPDebug = 1;
$m->Host = 'smtp.gmail.com';
$m->Username = '[email protected]';
$m->Password = 'password';
$m->SMTPSecure = 'ssl';
$m->Port = 465;
$m->From = '[email protected]';
$m->FromName = 'William Green';
$m->addReplyTo('[email protected]', 'William Green');
//$m->addCC('[email protected]', 'Willliam green');
########################################
//email code
//$recipient = strip_tags($_POST['mailRecipient']);
//$name = strip_tags($_POST['recipientsName']);
$m->addAddress($email, $email);
//$m->Subject = strip_tags($_POST['mailSubject']);
//$m->Body = strip_tags($_POST['mailBody']);
$m->Subject = $subject;
$m->Body = $message;
//$m->AltBody = 'plain text version!';
###########################################
//var_dump($m->send());
if ($m->send())
{
echo '<h1 class="good">Email Sent!</h1>';
}
else
{
echo '<h1 class="bad">Email Not Sent!</h1>';
}
?>
- 000webhost ist doch nicht gut, wenn Sie Umgang mit websites, deren Server möglicherweise in einer blacklist oder Blockierung ausgehender SMTP-ports, um spam zu verhindern. Vielleicht ist es Zeit, sich zu bewegen, um eine bessere web-host, oder Sie können sparen Sie Zeit und Holen Sie sich ein Virtual Private Server zu hosten und Ihre Bedürfnisse ohne Einschränkungen.
- Sie könnten versuchen, die TLS auf port 587.
Du musst angemeldet sein, um einen Kommentar abzugeben.
A: Sie tun nicht bieten SMTP für gratis-hosting. Unter Verwendung der PHP -
mail()
- Funktion statt.Beachten Sie das rote
x
neben der SMTP-Server auf Ihrer site => http://www.000webhost.com/ ?Entweder
mail()
oder bezahlen für Sie, um SMTP benutzen.Können Sie es auf Ihrer website oder Aktualisierung von in der Systemsteuerung.
Bearbeiten (Sept. 16, 2016): Diese Antwort wurde geschrieben, bevor Sie überarbeitet Ihre website. Die URL, wo sehen Sie die verfügbaren Optionen für free/paid services, können Sie hier sehen https://www.000webhost.com/premium-web-hosting
Dies gilt auch für remote-verbindungen zu einer Datenbank.
Diese Antwort wurde editiert, in Bezug auf eine Frage, die ich heute gesehen die war mit meinem edit.
sendmail
binäre (was natürlich nicht SMTP verwenden (intern). Sie bieten nicht einen SMTP-server sich für freie Kunden. Aber meine Vermutung ist, Sie sind in Ordnung, mit externen SMTP-Anbieter wie GMail. Leider SwiftMailer scheint nicht zu funktionieren hier, da mussproc_open
, und 000webhost umgestellt haben, dass aus. Werde versuchen, PHPMailer weiter!mail()
ist überhaupt nicht verwendet werden - verwenden Sie entweder Sendmail oder den direkten SMTP. Es sieht aus wie Sie einige ernsthafte vulns gekommen, etwa als Ergebnis der Verwendung der PHP-Funktion direkt, und SwiftMailer gestoppt hat, unterstützen es vollständig.Überprüfen, dass der port 465 geöffnet ist. Wenn nicht, wird der host-provider brauchen, um die Einstellungen zu ändern.