J'ai installé PHPMailer sur mon site web. Mais je n'arrive pas à le faire fonctionner comme il le devrait. Lorsque j'envoie un courriel par l'intermédiaire du site Web, j'obtiens l'erreur suivante :
08:12:53 CLIENT -> SERVER: RCPT TO: 2016-10-13 08:12:53
CLIENT -> SERVER: DATA 2016-10-13 08:12:53
CLIENT -> SERVER: Date: Thu, 13 Oct 2016 08:12:51 +0000 2016-10-13 08:12:53
CLIENT -> SERVER: To: Kevin Kloet 2016-10-13 08:12:53
CLIENT -> SERVER: From: Name <myEmail@email.com> 2016-10-13 08:12:53
CLIENT -> SERVER: Reply-To: Name <myEmail@email.com> 2016-10-13 08:12:53
CLIENT -> SERVER: Subject: Subject 2016-10-13 08:12:53
CLIENT -> SERVER: Message-ID: 2016-10-13 08:12:53
CLIENT -> SERVER: X-Mailer: PHPMailer5.2.15 (https://github.com/PHPMailer/PHPMailer) 2016-10-13 08:12:53
CLIENT -> SERVER: MIME-Version: 1.0 2016-10-13 08:12:53
CLIENT -> SERVER: Content-Type: text/plain; charset=UTF-8 2016-10-13 08:12:53
CLIENT -> SERVER: 2016-10-13 08:12:53
CLIENT -> SERVER: Name: Name 2016-10-13 08:12:53
CLIENT -> SERVER: Email: myEmail@email.com 2016-10-13 08:12:53
CLIENT -> SERVER: Subject: Subject 2016-10-13 08:12:53
CLIENT -> SERVER: Message: message 2016-10-13 08:12:53
CLIENT -> SERVER: 2016-10-13 08:12:53
CLIENT -> SERVER: . 2016-10-13 08:12:57
SMTP ERROR: DATA END command failed: 550 5.3.4 554-554 5.2.0
STOREDRV.Deliver; delivery result banner 2016-10-13 08:12:57
--------> SMTP Error: data not accepted. Message was not sent.Mailer error: <--------
--------> SMTP Error: data not accepted.SMTP server error: <--------
DATA END command failed Detail: 554-554 5.2.0
STOREDRV.Deliver; delivery result banner SMTP code: 550 Additional SMTP
info: 5.3.4echo2016-10-13 08:12:57
CLIENT -> SERVER: QUIT 2016-10-13 08:12:57
SMTP ERROR: QUIT command failed: 554-554 5.2.0
STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied;
Failed to process message due to a permanent exception with message Cannot
submit message. 16.55847:6900000
J'ai mis des flèches là où se trouve l'erreur réelle.
Lorsque j'essaie d'envoyer un e-mail en utilisant la même adresse que l'e-mail de réception, tout fonctionne comme je le souhaite. C'est pourquoi je ne comprends pas pourquoi il fait ça.
voici le code qui est utilisé pour envoyer l'email.
require("PHPMailerAutoload.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Mailer = "smtp";
$mail->CharSet = 'UTF-8';
$mail->Host = 'tls://smtp-mail.outlook.com';
$mail->Port = "587"; // 8025, 587 and 25 can also be used. Use Port 465 for SSL.
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
$mail->Username = "username";
$mail->Password = "password";
$mail->From = trim_input($_POST['Email']);
$mail->FromName = trim_input($_POST['Name']);
$mail->AddAddress("receivingEmailAdress@outlook.com", "my name");
$mail->AddReplyTo(trim_input($_POST['Email']), trim_input($_POST['Name']));
$mail->SMTPDebug = 1;
$mail->Subject = trim_input($_POST['Subject']);
$mail->Body = trim_input($_POST['message']);
$mail->WordWrap = 50;
if (!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
exit;
} else {
echo 'Message has been sent.';
}
l'extension php_openssl est activée. J'utilise des adresses e-mail réelles, il ne s'agit donc pas d'utiliser de fausses adresses e-mail comme example@example.com.
mon html :
<!-- modal -->
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Bericht sturen</h4>
</div>
<form method="POST" action="" >
<div class="modal-body">
<label for="messageName">Uw naam: </label>
<input type="text" id="messageName" name="Name" />
<label for="messageEmailAdress">Uw Emailadres: </label>
<input type="text" id="messageEmailAdress" name="Email" />
<label for="messageSubject">Onderwerp van uw bericht: </label>
<input type="text" id="messageSubject" name="Subject" />
<label for="message">bericht: </label>
<textarea id="message" rows="4" cols="50" name="Message"></textarea>
<input type="hidden" name="totalMessage" />
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Sluiten</button>
<input type="submit" name="Submit" class="btn btn-primary" value="Stuur bericht" />
</div>
</form>
</div>
</div>
</div>
et le javascript pour le totalMessage :
jQuery(document).ready(function () {
var form = document.getElementsByTagName('form')[0];
if (form) {
form.addEventListener('submit', contact, false);
}
function contact(e) {
// Prevent Default Form Submission
e.preventDefault();
var target = e.target || e.srcElement;
var i = 0;
var message = '';
// Loop Through All Input Fields
for (i = 0; i < target.length; ++i) {
// Check to make sure it's a value. Don't need to include Buttons
if (target[i].type != 'text' && target[i].type != 'textarea') {
// Skip to next input since this one doesn't match our rules
continue;
}
// Add Input Name and value followed by a line break
message += target[i].name + ': ' + target[i].value + "\r\n";
}
target.elements["totalMessage"].value = message;
this.submit();
}
}
);
Qu'est-ce que je fais mal ici ou quel est le problème pour lequel je reçois le message d'erreur ?
éditer :
erreur de débogage de niveau 2 :
2016-10-13 10:13:42 SERVER -> CLIENT: 220 BLU436-SMTP224.smtp.hotmail.com Microsoft ESMTP MAIL Service, Version: 8.0.9200.16384 ready at Thu, 13 Oct 2016 03:13:39 -0700
2016-10-13 10:13:42 CLIENT -> SERVER: EHLO localhost
2016-10-13 10:13:42 SERVER -> CLIENT: 250-BLU436-SMTP224.smtp.hotmail.com Hello [82.176.119.145] 250-TURN 250-SIZE 41943040 250-ETRN 250-PIPELINING 250-DSN 250-ENHANCEDSTATUSCODES 250-8bitmime 250-BINARYMIME 250-CHUNKING 250-VRFY 250-TLS 250-STARTTLS 250 OK
2016-10-13 10:13:42 CLIENT -> SERVER: STARTTLS
2016-10-13 10:13:42 SERVER -> CLIENT: 220 2.0.0 SMTP server ready
2016-10-13 10:13:42 CLIENT -> SERVER: EHLO localhost
2016-10-13 10:13:42 SERVER -> CLIENT: 250-BLU436-SMTP224.smtp.hotmail.com Hello [82.176.119.145] 250-TURN 250-SIZE 41943040 250-ETRN 250-PIPELINING 250-DSN 250-ENHANCEDSTATUSCODES 250-8bitmime 250-BINARYMIME 250-CHUNKING 250-VRFY 250-AUTH LOGIN PLAIN XOAUTH2 250 OK
2016-10-13 10:13:42 CLIENT -> SERVER: AUTH LOGIN
2016-10-13 10:13:42 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2016-10-13 10:13:42 CLIENT -> SERVER: xxx==
2016-10-13 10:13:42 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
2016-10-13 10:13:42 CLIENT -> SERVER: xxx
2016-10-13 10:13:43 SERVER -> CLIENT: 235 2.7.0 Authentication succeeded
2016-10-13 10:13:43 CLIENT -> SERVER: MAIL FROM:
2016-10-13 10:13:43 SERVER -> CLIENT: 250 2.1.0 mySendingEmailaddress@email.com....Sender OK
2016-10-13 10:13:43 CLIENT -> SERVER: RCPT TO:
2016-10-13 10:13:43 SERVER -> CLIENT: 250 2.1.5 myReceivingEmailaddress@email.com
2016-10-13 10:13:43 CLIENT -> SERVER: DATA
2016-10-13 10:13:43 SERVER -> CLIENT: 354 Start mail input; end with .
2016-10-13 10:13:43 CLIENT -> SERVER: Date: Thu, 13 Oct 2016 10:13:41 +0000
2016-10-13 10:13:43 CLIENT -> SERVER: To: Kevin Kloet
2016-10-13 10:13:43 CLIENT -> SERVER: From: this is my name
2016-10-13 10:13:43 CLIENT -> SERVER: Reply-To: this is my name
2016-10-13 10:13:43 CLIENT -> SERVER: Subject: subject
2016-10-13 10:13:43 CLIENT -> SERVER: Message-ID: <3e21fa1900a9d30d3d51187e7719add6@localhost>
2016-10-13 10:13:43 CLIENT -> SERVER: X-Mailer: PHPMailer 5.2.16 (https://github.com/PHPMailer/PHPMailer)
2016-10-13 10:13:43 CLIENT -> SERVER: MIME-Version: 1.0
2016-10-13 10:13:43 CLIENT -> SERVER: Content-Type: text/plain; charset=UTF-8
2016-10-13 10:13:43 CLIENT -> SERVER:
2016-10-13 10:13:43 CLIENT -> SERVER: Name: this is my name
2016-10-13 10:13:43 CLIENT -> SERVER: Email: mySendingEmail@email.com
2016-10-13 10:13:43 CLIENT -> SERVER: Subject: subject
2016-10-13 10:13:43 CLIENT -> SERVER: Message: this is the message
2016-10-13 10:13:43 CLIENT -> SERVER:
2016-10-13 10:13:43 CLIENT -> SERVER: .
2016-10-13 10:13:49 SERVER -> CLIENT: 550 5.3.4 554-554 5.2.0 STOREDRV.Deliver; delivery result banner
2016-10-13 10:13:49 SMTP ERROR: DATA END command failed: 550 5.3.4 554-554 5.2.0 STOREDRV.Deliver; delivery result banner
2016-10-13 10:13:49 SMTP Error: data not accepted. Message was not sent.Mailer error:
SMTP Error: data not accepted.
SMTP server error: DATA END command failed Detail: 554-554 5.2.0
STOREDRV.Deliver; delivery result banner
SMTP code: 550 Additional
SMTP info: 5.3.4echo
2016-10-13 10:13:49 CLIENT -> SERVER: QUIT
2016-10-13 10:13:49 SERVER -> CLIENT: 554-554 5.2.0
STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; Failed to process message due to a permanent exception with message Cannot submit message. 16.55847:6900000 2016-10-13 10:13:49
SMTP ERROR: QUIT command failed: 554-554 5.2.0
STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; Failed to process message due to a permanent exception with message Cannot submit message. 16.55847:6900000
modifier 2 :
la fonction trim_input si vous voulez savoir ce qu'elle fait :
function trim_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}