phpMailer sendet keine mail, ErrorInfo leer ist
Ich bin der Gestaltung eines einfachen Kontakt-Formular mit phpMailer. Die Daten werden an die PHP-richtig, aber dann wird die email nicht gesendet wurde. Ich habe versucht, an die error-info, aber es ist leer. Irgendwelche Gedanken? Vielen Dank im Voraus!
<?php
require_once('email/mail/class.phpmailer.php');
$email_to = 'myEmail';
$email_subject = 'Contact form';
$fname = $_POST['firstname'];
$lname = $_POST['lastname'];
$email = $_POST['email'];
$dob = $_POST['dob'];
$subject = $_POST['subject'];
$comments = $_POST['comments'];
$mailer = new PHPMailer(true);
$mailer->Host = '**********';
$mailer->Username = '********';
$mailer->Password = '*********';
$mailer->SMTPAuth = true;
$mailer->AddAddress($email_to);
$mailer->SMTPDebug = false;
$mailer->IsSMTP();
$mailer->FromName = 'Contact Page';
$mailer->From = "**********";
$mailer->Sender = '**********';
$mailer->Subject = $email_subject;
$mailer->Body = "
Source: Contact Page
Name: ".$fname. " ".$lname."
Email: ".$email."
Date of Birth: ".$dob."
Subject: ".$subject."
Comments: ".$comments;
echo "Data received";
if(!$mailer->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}
?>
Ausgabe:
Data receivedMessage was not sent.Mailer error:
Ausgabe von print_r($mailer)
:
PHPMailer Object (
[Priority] => 3
[CharSet] => iso-8859-1
[ContentType] => text/plain
[Encoding] => 8bit
[ErrorInfo] =>
[From] => contact@blah.com
[FromName] => Contact Page
[Sender] => contact@blah.com
[Subject] => Contact form
[Body] =>
Source: blah
Name: Derp McDerpson
Email: derpallday@gmail.com
Date of Birth: 1/1/2000
Subject: The things!
Comments: fix them
[AltBody] =>
[WordWrap] => 0
[Mailer] => smtp
[Sendmail] => /usr/sbin/sendmail
[PluginDir] =>
[Version] => 1.73
[ConfirmReadingTo] =>
[Hostname] =>
[Host] => mail.authsmtp.com
[Port] => 25
[Helo] =>
[SMTPAuth] => 1
[Username] => blah
[Password] => blah
[Timeout] => 10
[SMTPDebug] =>
[SMTPKeepAlive] =>
[smtp] =>
[to] => Array (
[0] => Array (
[0] => blah@blah.com
[1] => blah
)
)
[cc] => Array ( )
[bcc] => Array ( )
[ReplyTo] => Array ( )
[attachment] => Array ( )
[CustomHeader] => Array ( )
[message_type] =>
[boundary] => Array ( )
[language] => Array ( )
[error_count] => 0
[LE] =>
)
- was bekommen Sie, wenn Sie print_r($mailer), kurz bevor Ihr erhaltenen Daten Zeile und führen Sie es?
- haben Sie füllen Sie Ihr Formular, bevor Sie dies ausführen? Ich bemerkte, dass es keine Informationen im Feld name: E-Mail; etc-Felder
- Ich habe es ausgefüllt, und alle Informationen, die durch kam, richtig. Ich habe es gelöscht, um die Ausgabe in einem Kommentar.
- Fügte zu der Frage.
- Ich glaube, Ihnen fehlt das tatsächliche senden Stück: $mailer->Senden(); versuchen Sie, die und es läuft.
- Jim: es ist in der wenn... Was, wenn Sie ändern, so dass es liest
if ( $mailer->send() ) { echo "sent"; }else{ echo "failed"; }
- das bisschen, was ich weiß, zu diesem sagte, dass es braucht, um die $mailer->send(); und wenn war für die Fehlerprüfung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Glaube ich, dass Sie fehlt, sind die eigentlichen senden Stück: $mailer->Senden(); versuchen Sie, die und es läuft
Gelöst, ich war versucht, die falsche Werte für "from" und "sender", mein server war nicht richtig eingestellt. Dank Jim und Patrick für deinen input.
Vorname ".$_POST['fname']."company".$_POST['company']."Email".$_POST['email']."Telephone".$_POST['telelphone']."Comments"
.$_POST['comments']."";$headers="MIME-Version":1.0\r\n";$hearder="Content-type:text/html;charest=iso-8859-1\r\n";$headers.=
"FROM:".$_POST['email']."\r\n";mail($to,$subject,$body,$headers);echo'