Seiten und Weiterleitungen
Seiten und Weiterleitungen ermöglichen es, eigene Landing-Pages und Weiterleitungsziele für verschiedene Prozesse in mail2many zu hinterlegen. So bleiben Empfänger während des gesamten Anmelde-, Abmelde- und Bestätigungsprozesses in der vertrauten Umgebung deiner Website.
Übersicht
Pro Account können verschiedene Arten von eigenen Seiten und Weiterleitungen konfiguriert werden:
| Kategorie | Zweck | Pflicht |
|---|---|---|
| Opt-In Bestätigungsseite | Landing-Page nach erfolgreicher Opt-In-Bestätigung | Optional |
| Ablauf einer Opt-In Sendung | Hinweisseite bei abgelaufenem Opt-In | Optional |
| Abmeldungen | Landing-Page für Abmeldungen | Optional |
| Zielseite(n) für Hinweise | Fehlerseite für verschiedene Fehlerfälle | Optional |
Die URL wird in den Account‑Einstellungen unter „Seiten und Weiterleitungen“ hinterlegt.
Opt-In Bestätigungsseite
Zeigt Erfolg nach gültiger Opt-In-Bestätigung. Die Bestätigung selbst erfolgt in mail2many, deine Seite dient als Landing‑Page.
Vorteil: Registrierungs‑ und Bestätigungsseite liegen auf derselben Website/Domain.
Anforderungen:
- Seite muss öffentlich erreichbar sein
- Kann in jeder Technologie erstellt werden (auch statisch)
- Empfohlen: Gleiche Domain wie die Absender‑Adresse (z.B. newsletter@atrivio.de → atrivio.de)
Ablauf
- Empfänger registriert sich auf deiner Website
- Deine Website ruft
POST /subscribers/registerbei mail2many auf - mail2many sendet eine Opt‑In‑Sendung (7 Tage gültig)
- Empfänger bestätigt innerhalb von 7 Tagen über den Link in der Sendung
- mail2many bestätigt und leitet auf deine Bestätigungsseite um
- Deine Seite zeigt die Bestätigung
Beispiel: Einfache Bestätigungsseite
Eine simple HTML-Seite könnte so aussehen:
<!doctype html>
<html lang="de">
<head>
<title>Newsletter-Anmeldung bestätigt</title>
</head>
<body>
<h1>Vielen Dank für Ihre Bestätigung.</h1>
<p>Sie haben sich erfolgreich für unseren Newsletter angemeldet.</p>
</body>
</html>
Ablauf einer Opt-In Sendung
Diese Seite wird angezeigt, wenn ein Empfänger versucht, ein abgelaufenes Opt-In zu bestätigen (nach 7 Tagen). Sie informiert über den Ablauf und bietet die Möglichkeit zur erneuten Registrierung.
Anforderungen:
- Seite muss öffentlich erreichbar sein
- Kann in jeder Technologie erstellt werden (auch statisch)
- Empfohlen: Gleiche Domain wie die Absender‑Adresse
Erfolgt die Bestätigung nach 7 Tagen, wird nicht bestätigt und auf diese Seite geleitet.
Alternative: Eine einzige Seite
Du kannst auch nur eine Seite für beide Fälle (Bestätigungsseite + Ablauf-Seite) verwenden. Diese wertet den URL-Parameter valid aus:
| Parameter | Wert | Beschreibung |
|---|---|---|
valid | true / false | Gibt an, ob das Opt‑In noch gültig war und bestätigt wurde |
Logik:
valid=true→ Zeige Erfolgsbestätigungvalid=false→ Zeige Hinweis zur erneuten Anmeldung
Beispiel: Single-Page-Lösung mit PHP
<?php
/**
* File: newsletter-confirmation.php
*
* Dies ist ein einfaches Beispiel ohne umfassende Validierung
*/
// URL-Parameter auslesen
$isValid = isset($_REQUEST['valid']) && $_REQUEST['valid'] === 'true';
if ($isValid) {
$headline = 'Newsletter-Bestätigung';
$message = 'Sie haben sich erfolgreich für unseren Newsletter angemeldet.';
} else {
$headline = 'Link abgelaufen';
$message = 'Dieser Link ist leider abgelaufen und Sie konnten nicht angemeldet werden. Bitte registrieren Sie sich erneut auf unserer Website.';
}
?>
<!doctype html>
<html lang="de">
<head>
<title><?php echo htmlspecialchars($headline); ?></title>
</head>
<body>
<h1><?php echo htmlspecialchars($headline); ?></h1>
<p><?php echo htmlspecialchars($message); ?></p>
</body>
</html>
Abmeldungen
Eine eigene Abmeldeseite ermöglicht Abmeldungen in deiner Umgebung. Die Abmeldung selbst wird von mail2many durchgeführt, deine Seite dient als Zwischenstation.
Wichtig: Wenn die Abmeldeseite nicht verfügbar ist, können sich Empfänger nicht abmelden! Du solltest daher eine zuverlässige Erreichbarkeit sicherstellen.
Vorbereitung
Anforderungen:
- Seite muss öffentlich erreichbar sein
- Empfohlen: Gleiche Domain wie die Absender‑Adresse
URL-Parameter von mail2many:
| Parameter | Beispiel | Beschreibung |
|---|---|---|
unsubscribed | true / false | Gibt an, ob die Abmeldung durchgeführt wurde |
p | abcdef123 | Verschlüsselter Parameter mit mail2many‑Daten zur Abmeldung |
Die Seite wertet unsubscribed aus:
unsubscribed=false→ Zeige Bestätigungsseite mit Button "Abmeldung bestätigen"unsubscribed=true→ Zeige Erfolgsbestätigung
Bei Klick auf "Bestätigen": Leite zurück zu mail2many mit den Parametern p und force=true
Ablauf
- Empfänger klickt den Abmeldelink im Newsletter
- mail2many leitet auf deine Abmeldeseite mit Parametern weiter (
unsubscribed=false) - Empfänger sieht deine Bestätigungsseite: "Möchten Sie sich wirklich abmelden?"
- Empfänger klickt "Bestätigen"
- Deine Seite leitet zurück zu mail2many mit
pundforce=true - mail2many meldet ab und leitet zurück auf deine Seite (
unsubscribed=true) - Empfänger sieht die Abmeldebestätigung
Beispiel: Abmeldeseite mit PHP
Datei: newsletter-unsubscribe.php
<?php
/**
* File: newsletter-unsubscribe.php
*
* Dies ist ein einfaches Beispiel ohne umfassende Validierung
*/
// Der mail2many-Parameter (wird verschlüsselt von mail2many übergeben)
$p = isset($_REQUEST['p']) ? $_REQUEST['p'] : '';
// Prüfen ob bereits abgemeldet
if (isset($_REQUEST['unsubscribed']) && $_REQUEST['unsubscribed'] === 'true') {
// Der Empfänger wurde abgemeldet, zeige ihm die Erfolgsseite
header('Location: /newsletter-unsubscribe-erfolgreich.php');
exit;
}
// Prüfen ob Button geklickt wurde
if (isset($_REQUEST['buttonClicked']) && $_REQUEST['buttonClicked'] === 'true') {
// Der Empfänger hat den Button geklickt, leite ihn zu mail2many weiter
// WICHTIG: Ersetze die URL mit deiner mail2many-Instanz
$unsubscribeUrl = 'https://api.mail2many.de/unsubscribe.php?force=true&p=' . urlencode($p);
header('Location: ' . $unsubscribeUrl);
exit;
}
// Der Empfänger möchte sich abmelden - zeige Bestätigungsseite
$confirmUrl = '?p=' . urlencode($p) . '&buttonClicked=true';
?>
<!doctype html>
<html lang="de">
<head>
<title>Newsletter abmelden</title>
</head>
<body>
<h1>Newsletter abmelden</h1>
<p>Sie möchten unseren Newsletter nicht mehr erhalten? Schade!</p>
<p><a href="newsletter-unsubscribe.php<?php echo htmlspecialchars($confirmUrl); ?>">Jetzt abmelden</a></p>
<p>Mit einem Klick werden Sie aus unserem Newsletter-Verteiler entfernt.</p>
</body>
</html>
Datei: newsletter-unsubscribe-erfolgreich.php
<!doctype html>
<html lang="de">
<head>
<title>Abmeldung erfolgreich</title>
</head>
<body>
<h1>Abmeldung erfolgreich</h1>
<p>Ihre Abmeldung vom Newsletter war erfolgreich.</p>
<p>Wir würden uns freuen, Sie bald wieder zu unseren Lesern zählen zu dürfen.</p>
</body>
</html>
Zielseite(n) für Hinweise
Eigene Zielseiten für Hinweise ermöglichen es, Empfänger bei Fehlern in deiner Umgebung zu informieren.
Vorbereitung
Anforderungen:
- Seite muss öffentlich erreichbar sein
- Empfohlen: Gleiche Domain wie die Absender‑Adresse
URL-Parameter von mail2many:
| Parameter | Beispiel | Beschreibung |
|---|---|---|
reason | CouldNotGetSubscriber | Gibt den Fehlergrund an |
Die Seite kann reason auswerten und eine passende Meldung anzeigen – oder eine generische Fehlermeldung verwenden.
Mögliche Fehlergründe
| Reason | Kontext | Beschreibung |
|---|---|---|
CouldNotGetSubscriber | Abmeldung | Empfänger wurde in mail2many gelöscht |
CouldNotGetNewsletter | Browser-Version | Newsletter wurde gelöscht |
BrowserVersionNotAvailable | Browser-Version | Problem mit der Browser‑Version |
Beispiel: Hinweisseite mit PHP
<?php
/**
* File: newsletter-hinweis.php
*
* Dies ist ein einfaches Beispiel ohne umfassende Validierung
*/
// Grund für den Fehler auslesen
$reason = isset($_REQUEST['reason']) ? $_REQUEST['reason'] : '';
// Standard-Fehlermeldung
$title = 'Ein Fehler ist aufgetreten';
$message = 'Es ist leider ein Fehler aufgetreten. Bitte versuchen Sie es später erneut oder kontaktieren Sie unseren Support.';
// Spezifische Fehlermeldungen basierend auf dem Grund
switch ($reason) {
case 'CouldNotGetSubscriber':
$title = 'Empfänger nicht gefunden';
$message = 'Ihre E-Mail-Adresse wurde in unserem System nicht gefunden. Möglicherweise wurden Sie bereits abgemeldet.';
break;
case 'CouldNotGetNewsletter':
$title = 'Newsletter nicht verfügbar';
$message = 'Der angeforderte Newsletter ist nicht mehr verfügbar.';
break;
case 'BrowserVersionNotAvailable':
$title = 'Browser-Version nicht verfügbar';
$message = 'Die angeforderte Browser-Version ist leider nicht mehr verfügbar.';
break;
}
?>
<!doctype html>
<html lang="de">
<head>
<title><?php echo htmlspecialchars($title); ?></title>
</head>
<body>
<h1><?php echo htmlspecialchars($title); ?></h1>
<p><?php echo htmlspecialchars($message); ?></p>
<p>
<a href="/">Zurück zur Startseite</a>
</p>
</body>
</html>
Du kannst auch eine generische Fehlerseite ohne Auswertung des reason-Parameters verwenden, wenn du keine spezifischen Meldungen anzeigen möchtest.