Cześć, mam problem z PHPMailerem
Użytkownik podaje w polu swój email, temat, treść wiadomości i klika wyślij.
Chciałbym, żeby PHPMailer wysłał wiadomość na podany email w kodzie (email@wp.pl) z emaila który podał użytkownik, tymczasem udało mi się jedynie zrobić tak, że podaje hasło i login do skrzynki na wp lub gmail, po czym wiadomość wysyła się sama do siebie (wysyłam email z adresu email@wp.pl i przychodzi on na email@wp.pl, a ja bym chciał żeby wysłał mail z emailu podanego od użytkownika przykładowo radek2233@wp.pl została wysłana na mój email np rychu331@wp.pl)
Jeżeli coś jest nie jasne czekam na pytania :)
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require __DIR__ . '/vendor/autoload.php';
$require = new PHPMailer;
// Import PHPMailer classes into the global namespace
// These must be at the top of your script, not inside a function
function send_mail($config)
{
$mail = new PHPMailer;
// Passing `true` enables exceptions
try {
$mail->CharSet = 'UTF-8';
//Server settings
$mail->SMTPDebug = 0; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.wp.pl'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'email@wp.pl'; // SMTP username
$mail->Password = 'pass'; // SMTP password
$mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to
//Recipients
$mail->setFrom('email@wp.pl', 'Adam');
$mail->addAddress('email@wp.pl', 'Adam'); // Add a recipient
//$mail->addAddress('ellen@example.com'); // Name is optional
$mail->addReplyTo($config->from_email, $config->from_name);
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');
//Attachments
//$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
//Content
$mail->isHTML(true);
// Set email format to HTML
$mail->Subject = $config->mail_subject;
$mail->Body = $config->mail_body."<br><br><br>Wiadomość od: ".$config->from_email."<br><br>".$config->from_name;
$html = new \Html2Text\Html2Text($mail->Body);
$mail->AltBody = $html->getText();;
$mail->send();
echo 'Wysłano wiadomość';
} catch (Exception $e) {
echo 'Nie udało się wysłać wiadomości! Proszę powiadom mnie o tym błędzie, error: ', $mail->ErrorInfo;
}
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$config = (object) [
'from_email' => $_POST['from_email'],
'from_name' => $_POST['from_name'],
'mail_subject' => $_POST['mail_subject'],
'mail_body' => $_POST['mail_body'],
];
send_mail($config);
}
?>
<form action="" method="POST">
<input type="text" name="mail_subject" placeholder="Temat wiadomości"><br>
<textarea style="width: 600px;height:357px;word-wrap: break-word;max-width:100%; font-size:17px;" name="mail_body" cols="x" rows="y"placeholder="Treść wiadomości"></textarea><br>
<input type="text" name="from_email" placeholder="Twój email">
<input type="text" name="from_name" placeholder="Twoje imię">
<button type="submit">Wyślij</button>
</form>