Benim kullanmış olduğum çalışan bir sistem.
Phpmailer o indikten sonra send_mail.php olarak kaydedin. Post dan gelen değerleri istediğiniz gibi düzenleyebilirsiniz

// Import PHPMailer classes into the global namespace
// These must be at the top of your script, not inside a function

use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
if(isset($_POST)) {

require 'src/Exception.php';
require 'src/PHPMailer.php';
require 'src/SMTP.php';

// Instantiation and passing `true` enables exceptions
$mail = new PHPMailer(true);
try {
//Server settings
// $mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->isSMTP();
$mail->CharSet = 'UTF-8';
$mail->Host = 'ssl://mail.site.com'; //Buranın başındaki ssl:// kısmını ssl olmayan sitelerde sil
$mail->SMTPAuth = true;
$mail->Username = 'mailadresi@site.com';
$mail->Password = 'mail_sifresi';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 465; //Burdaki 465 sayısını ssl olmayan sitelerde 587 olarak değiştir
//Recipients
$mail->setFrom($mail->Username, $_POST['name']); // maili gönderen adres, virgülden önce mail adresi virgülden sonra ad soyad. Mail adresi bizim adresimiz, ad soyad da gönderen kişinin olsun
$mail->addAddress('adres@gmail.com', 'Ad Soyad'); // alıcı kişinin mail adresi ve adı soyadı. İster posttan çekilen adres olsun ister sabit olsun

// $mail->addAddress('adres@site.com',"ad soyad"); //alıcı ikinci eposta
// $mail->addReplyTo('info@example.com', 'Information');
// $mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');
// Content
$mail->isHTML(true);// Set email format to HTML
$mail->Subject = $_POST['subject']; //eposta konusu
$mail->Body = $_POST['email'].' e posta adresinden yeni bir posta var.
Ad: '.$_POST['name'].'
'.$_POST['message'];//e posta içeirği

// $mail->AltBody = $_POST['message']; //isteğe bağlı
$mail->setLanguage('tr', 'language/directory/');
$mail->send();
echo 'Gönderildi';
} catch (Exception $e) {
echo "Mail gönderilemedi. Oluşan Hata: {$mail->ErrorInfo}";
}
}
?>