diff --git a/static/rsvp-submit.php b/static/rsvp-submit.php index 37529af..24fb067 100755 --- a/static/rsvp-submit.php +++ b/static/rsvp-submit.php @@ -3,19 +3,25 @@ require __DIR__ . '/vendor/autoload.php'; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; -$dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '/../'); // <-- root .env +$dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '/../'); // root .env $dotenv->load(); +// Get form values $name = $_POST['name'] ?? 'No Name'; $drinks = $_POST['drinks'] ?? 'None'; $allergies = $_POST['allergies'] ?? 'None'; +// Make sure UTF-8 +$name = mb_convert_encoding($name, 'UTF-8', 'auto'); +$drinks = mb_convert_encoding($drinks, 'UTF-8', 'auto'); +$allergies = mb_convert_encoding($allergies, 'UTF-8', 'auto'); + $mail = new PHPMailer(true); try { $mail->CharSet = 'UTF-8'; $mail->isSMTP(); - $mail->SMTPDebug = 2; // debug mode + $mail->SMTPDebug = 2; // debug output $mail->Debugoutput = 'html'; $mail->Host = $_ENV['SMTP_HOST']; $mail->SMTPAuth = true; @@ -26,9 +32,18 @@ try { $mail->setFrom($_ENV['FROM_EMAIL'], $_ENV['FROM_NAME']); $mail->addAddress($_ENV['TO_EMAIL']); - $mail->Subject = "New Wedding RSVP from $name"; - $mail->Body = "Name: $name\nDrinks: $drinks\nAllergies: $allergies\n"; + // Encode subject properly for UTF-8 + $subject = "New Wedding RSVP from $name"; + $mail->Subject = mb_encode_mimeheader($subject, 'UTF-8'); + + $body = <<Body = $body; $mail->send(); echo 'RSVP submitted successfully.';