33 lines
1.3 KiB
PHP
33 lines
1.3 KiB
PHP
<?php
|
|
// inspired by https://www.mailgun.com/blog/email/double-opt-in-with-php-mailgun/
|
|
|
|
$successURL = '/newsletter/subscribed.html';
|
|
$errorURL = '/newsletter/subscribe-error.html';
|
|
|
|
require(dirname(__FILE__) . '/settings.php');
|
|
|
|
function MakeConfirmationHash($confEmail, $confCode) {
|
|
return md5($confEmail . $confCode);
|
|
}
|
|
|
|
if (isset($_POST['email'])) {
|
|
$email = filter_var(trim($_POST['email'], FILTER_SANITIZE_STRING));
|
|
error_log("Email ist: {$email}");
|
|
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
|
$hashedUnique = MakeConfirmationHash($email, $general['uniqueKey']);
|
|
$confirmQuery = http_build_query(['c' => $hashedUnique, 'e' => $email]);
|
|
$confirmLink = $general['siteURL'] . $general['confirmScript'] . "?" . $confirmQuery;
|
|
|
|
$result = SendEmail($email, $mailConfirmation, $confirmLink);
|
|
if ( $result == TRUE ) {
|
|
GracefulExit($successURL, 'Anmeldung wird fortgesetzt: Email mit Bestätigungslink wurde versandt.');
|
|
} else {
|
|
GracefulExit($errorURL, 'Anmeldung fehlgeschlagen: Fehler beim Versenden der Bestätigungs-Email.');
|
|
}
|
|
} else {
|
|
GracefulExit($errorURL, 'Anmeldung fehlgeschlagen: Ungültige Emailadresse.');
|
|
}
|
|
} else {
|
|
GracefulExit($errorURL, 'Anmeldung fehlgeschlagen: Keine Emailadresse angegeben.');
|
|
}
|
|
?>
|