Ciao ragazzi, ho un problema con PHPMailer, in pratica si rifiuta di accettare gli indirizzi email immessi nel campo Email del form sostenendo che essi non siano veri (mailbox unavailable), ma ciò è impossibile perchè sono emails che uso quotidianamente. Se in "$mail->setFrom();" al posto della variabile ($email), che va a prelevare l'indirizzo email scritto nel form, inserisco lo stesso indirizzo che uso per autenticare il provider le emails vengono inviate tranquillamente. Perchè? Il problema è che in questo modo nella casella email alla voce "Da: / From:" appare il mio indirizzo email e non quello inserito dall'utente nel form.
Cosa devo fare per ricevere sulla mia email le email contenenti i dati che gli utenti inseriscono nel form?
Sto usando XAMPP su Win 7.
Codice PHP:
<?php $msg = ""; use PHPMailer\PHPMailer\PHPMailer; include_once "PHPMailer/PHPMailer.php"; include_once "PHPMailer/Exception.php"; include_once "PHPMailer/SMTP.php"; if (isset($_POST['submit'])) { $subject = $_POST['subject']; $email = $_POST['email']; $message = $_POST['message']; $mail = new PHPMailer(); //if we want to send via SMTP $mail->Host = "smtp.mail.com"; $mail->isSMTP(); $mail->SMTPAuth = true; $mail->Username = "xxxxxxxxxx@mail.com"; $mail->Password = "xxxxxxxxxx"; $mail->SMTPSecure = "tls"; //TLS $mail->Port = 587; //587 $mail->addAddress('xxxxxxxxxx@mail.com'); $mail->setFrom($email); $mail->Subject = $subject; $mail->isHTML(true); $mail->Body = $message; if ($mail->send()) $msg = "Your email has been sent, thank you!"; else //$msg = "Please try again!"; echo $mail->ErrorInfo; } ?>
codice HTML:
<!doctype html>
<html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Contact Form</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"> </head> <body> <div class="container" style="margin-top: 100px"> <div class="row justify-content-center"> <div class="col-md-6 col-md-offset-3" align="center"> <br><br> <?php if ($msg != "") echo "$msg<br><br>"; ?> <form method="post" action="sendemail.php"> <input class="form-control" name="subject" placeholder="Subject..."><br> <input class="form-control" name="email" type="email" placeholder="Email..."><br> <textarea placeholder="Message..." class="form-control" name="message"></textarea><br> <input class="btn btn-primary" name="submit" type="submit" value="Send Email"> </form> </div> </div> </div> </body> </html>
Grazie!