phpMailer de ne pas envoyer de mail, Erreurinfo est vide
Je suis de la conception d'un simple formulaire de Contact à l'aide de phpMailer. Les données sont transmises à l'PHP correctement, mais ensuite l'e-mail n'est jamais envoyé. J'ai essayé de regarder l'erreur info, mais elle est vide. Toutes les pensées? Merci à l'avance!
<?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.';
}
?>
De sortie est:
Data receivedMessage was not sent.Mailer error:
Sortie de 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] =>
)
- qu'obtenez-vous si vous mettez print_r($mailer) juste avant que vos données reçues de la ligne et de l'exécuter?
- avez-vous remplissez votre formulaire avant cette exécution? J'ai remarqué qu'il n'y a pas d'information dans le nom: e-mail, etc champs
- J'ai fait le remplir, et de toutes les informations est venu à travers correctement. Je l'ai supprimé afin de s'adapter à la sortie dans un commentaire.
- Ajouté à la question.
- Je crois qu'il vous manque de l'effectif envoyer la pièce: $mailer->Send(); essayez d'ajouter que, en l'exécutant.
- Jim: c'est à l'intérieur de la si... si vous changez de sorte qu'il est
if ( $mailer->send() ) { echo "sent"; }else{ echo "failed"; }
- le peu que je sais à propos de ce dit qu'il a besoin d'avoir le $mailer->send(); et le si a été pour la vérification des erreurs.
Vous devez vous connecter pour publier un commentaire.
Je crois qu'il vous manque de l'effectif envoyer la pièce: $mailer->Send(); essayez d'ajouter que l'exécutant
Résolu, j'ai essayé d'utiliser les valeurs incorrectes pour "partir" et "expéditeur", mon serveur n'est pas configuré correctement. Merci Jim et Patrick pour votre entrée.
Prénom ".$_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'