Sign-up for mailcow — Anleitung

Bevor du beginnst

  • Das mailcow Toolkit-Paket 0.4.0 oder neuer, installiert mit install.sh wie in der Anleitung zum mailcow Toolkit beschrieben. Sign-up for mailcow ist Teil des Pakets: Es gibt nichts weiter herunterzuladen.
  • Dein Lizenzschlüssel für Sign-up for mailcow aus deinem medialab.works-Konto (ein Schlüssel des mailcow-Pakets funktioniert auch) oder eine E-Mail-Adresse für den kostenlosen 30-tägigen Test.
  • Ausgehendes HTTPS zu medialab.works vom Server (Lizenzprüfung) und ein mailcow, das E-Mails sendet (Bestätigungs-, Freigabe- und Willkommens-E-Mails).
  • Mindestens eine mailcow-Domain, für die du die Registrierung öffnest, falls Besucher Postfächer bekommen sollen.

Installation und Updates

install.sh aus dem Paket (0.4.0 oder neuer) installiert Sign-up neben dem Toolkit: die Webdateien in mailcows data/web/mlw-signup, den Einstellungsordner, die Tabellen mlw_su_* in mailcows Datenbank und den Timer mlw-mailcow-accounts-<name>.timer, der die Jobs von Sign-up und Cashier alle 5 Minuten ausführt. Ein bereits installiertes Toolkit bekommt all das, wenn du es in System > Updates (Toolkit) auf 0.4.0 aktualisierst oder das neue install.sh ausführst. Sign-up bleibt ausgeschaltet, bis es lizenziert ist und du die Registrierungen öffnest.

Sign-up wird zusammen mit dem Toolkit aktualisiert: ein Paket, ein Update. Das Update kann von der Lizenzkarte jedes Produkts mit gültiger Lizenz aus gestartet werden.

Lizenz und kostenloser Test

Öffne System > Updates (Toolkit) (nur Admins). Ab 0.4.0 zeigt die Seite eine License-Karte pro Produkt; nutze die Karte License · Sign-up for mailcow:

  • Gib deinen Lizenzschlüssel ein und drücke Activate, oder starte den kostenlosen 30-tägigen Test mit deiner E-Mail-Adresse: Die Karte wird auf der Stripe-Bezahlseite abgefragt und in den 30 Tagen nicht belastet, und sie aktiviert Sign-up von selbst, sobald der Test startet. Jedes mailcow-Tool hat seinen eigenen Test, einmal pro Server und pro E-Mail-Adresse.
  • Mit einem Paket-Schlüssel des mailcow-Pakets gib denselben Schlüssel in jeder Lizenzkarte ein.
  • Auf der Shell: docker compose exec -u www-data php-fpm-mailcow php /web/mlw-toolkit/cli.php activate mailcow-signup <KEY> aus dem mailcow-Ordner.

Die Lizenz wird beim Start des Servers und einmal am Tag geprüft; ohne Internet funktioniert Sign-up noch 7 Tage nach der letzten erfolgreichen Prüfung. Ohne gültige Lizenz sind die Registrierungen geschlossen (die öffentliche Seite sagt, dass die Registrierung nicht verfügbar ist) und die Hintergrundjobs stoppen für Sign-up; bestehende Konten, Postfächer und Domains werden nie angerührt.

Registrierungen öffnen

Öffne System > Sign-up. Die Karte Registration enthält die wichtigsten Wahlen; speichere das Formular mit dem Button am Ende.

  • Registrations open — schaltet die öffentliche Seite /mlw-signup/ ein. mailcows Anmeldeseite zeigt dann den Link Create an account (auf der Oberfläche und auf dem Webmail-Hostnamen).
  • A mailbox on one of your domains — Häkchen setzen und die Domains open for registration wählen. Lege Min. characters und Max. characters für den Namen vor dem @, das Free quota (MB), More reserved names (Rollennamen wie postmaster, abuse, admin, support und noreply sind immer reserviert) und die mailcow mailbox template fest (leer = mailcows Standard).
  • A domain administrator for the customer's own domains — der Kunde fügt Domains nach einer DNS-(TXT-)Prüfung hinzu, innerhalb der Paketlimits. Das Free package setzt Domains, Mailboxes/domain, Aliases/domain, Quota/domain (MB) und Default quota/mailbox (MB); die mailcow domain template wird für neue Kundendomains verwendet. Mit der Option über den new domain wizard erstellt der Assistent des Toolkits die Rollenadressen einer Kundendomain an die E-Mail-Adresse des Kunden.
  • Free registration (next to Cashier's paid plans) — Häkchen drin lassen für kostenlose Konten; Häkchen weg, wenn jedes Konto einen Tarif mit Cashier for mailcow kaufen muss.

Bestätigung, Freigabe und Einladungen

In der Karte Confirmation, approval, invitations:

  • Address confirmation — 6-stelliger Code, Link, Code und Link oder keine (nicht empfohlen). Expires (hours) — von 1 bis 168. Ein Besucher kann nach einer Minute eine neue E-Mail anfordern, höchstens 5-mal am Tag, und hat 5 Versuche pro Code.
  • Administrator approval — kostenlose Registrierungen warten auf einen Administrator; setze E-mail for registrations to approve, um über jede neue informiert zu werden. Kostenpflichtige Registrierungen warten nie auf eine Freigabe.
  • Invitation code — aus, optional oder Pflicht.
  • Terms link (asks for acceptance) — ein Link zu deinen AGB; der Besucher muss sie akzeptieren.
  • Form fields — Name, Firma, Telefon und Land: aus, optional oder Pflicht.

Registrierungen freigeben

Die Karte Registrations listet die Einträge Waiting for approval. Approve erstellt das Konto und sendet die Willkommens-E-Mail; Reject (mit optionalem Reason) sendet dem Besucher eine E-Mail mit der Entscheidung. Recent zeigt die neuesten Registrierungen und ihren Zustand.

Einladungscodes

In Invitation codes fülle Code (empty = random), Uses (0 = unlimited), Expires, die Account kind (Postfach, Domain oder beliebig) und — mit Cashier — den Plan aus, den der Code öffnet (einschließlich eines versteckten), setze das Häkchen No approval, wenn der Code die Freigabe überspringen soll, füge eine Note hinzu und drücke Create the code. Die Liste zeigt, wie oft jeder Code benutzt wurde; Disable und Enable schalten ihn aus und an.

Missbrauchsschutz

In der Karte Anti-abuse:

  • Minimum time to fill in (s) — ein Formular, das schneller abgeschickt wurde, wird abgelehnt (Bots). Ein verstecktes Feld fängt die einfachsten Bots von selbst.
  • Registrations / IP / day (0 = no limit).
  • Block disposable addresses — die eingebaute Liste plus die MediaLab-Works-Liste, die mit der Lizenzprüfung ankommt, solange die Lizenz gültig ist.
  • Only these e-mail domains (empty = any) und Blocked e-mail domains — durch Leerzeichen, Kommas oder Zeilenumbrüche getrennt. Eine Domain deckt auch ihre Subdomains ab; *.example.com bedeutet nur die Subdomains.
  • Das Passwort muss mailcows eigener Passwortrichtlinie folgen, der in mailcows Admin-Oberfläche gesetzten.

Neue Konten

In der Karte New accounts: Own text in the welcome e-mail (Englisch und Rumänisch), der Sender name of the e-mails (leer = der Mail-Hostname) und Sign in the browser that registered (standardmäßig an).

Ein kostenloses Postfach wird erstellt, sobald die Adresse bestätigt (und freigegeben) ist. Ein Domain-Administrator wird mit der ersten verifizierten Domain erstellt: Bis dahin hat der Kunde eine Seite, My account, auf der der nächste Schritt das Hinzufügen der Domain ist.

Die eigenen Domains des Kunden

Der Kunde öffnet My account (/mlw-signup/account.php, auch im mailcow-Menü, während er angemeldet ist) und fügt eine Domain hinzu. Die Seite zeigt einen TXT-Eintrag, der beim DNS-Provider des Kunden veröffentlicht werden muss:

_mlw-verify.example.com.  TXT  "mlw-verify=<token>"

Verify prüft ihn sofort; Sign-up prüft außerdem alle 10 Minuten für 7 Tage. Wenn der Eintrag gefunden wird, wird die Domain mit den Paketlimits zu mailcow hinzugefügt, und die Seite zeigt die DNS-Einträge der Domain (erforderliche und empfohlene), die der Kunde setzen muss: MX, SPF, DKIM, DMARC, Autodiscover und die anderen, berechnet vom DNS-Modul des Toolkits. Ein Administrator kann eine Domain von der Shell aus prüfen, im mailcow-Ordner: docker compose exec -u www-data php-fpm-mailcow php /web/mlw-signup/cli.php verify example.com.

Kundendomains werden von deinem eigenen automatischen Cloudflare-Setup ausgenommen (der Kunde verwaltet seinen eigenen DNS).

Daten, Backups und Entfernen

  • Die Registrierungen, Kunden und Einladungscodes liegen in mailcows Datenbank (Tabellen mlw_su_*), also in mailcows Backups. Die Einstellungen liegen im gemeinsamen Ordner des Toolkits.
  • Der Timer mlw-mailcow-accounts-<name>.timer läuft alle 5 Minuten: Er entfernt abgelaufene Registrierungen und prüft ausstehende Kundendomains.
  • uninstall.sh entfernt Sign-up mit dem Toolkit, behält aber die Tabellen und jedes Postfach, jede Domain und jeden Domain-Administrator, die damit erstellt wurden.

Häufige Probleme

Die Anmeldeseite zeigt keinen Link „Create an account“. Die Registrierungen sind geschlossen, die Lizenz ist nicht gültig, oder es wird keine Kontenart angeboten (keine Domain für Postfächer offen und kein Domain-Administrator). Prüfe die Lizenzkarte und System > Sign-up.

Die öffentliche Seite sagt, dass die Registrierung nicht verfügbar ist. Dieselben Ursachen: die Lizenz (siehe die Meldung auf der Lizenzkarte) oder Registrations open.

Besucher erhalten keine Bestätigungs-E-Mail. Prüfe, dass mailcow ausgehende E-Mails zustellt (die E-Mails werden über mailcow gesendet), und den Spam-Ordner. Nach 5 E-Mails an einem Tag muss die Adresse bis zum nächsten Tag warten.

Eine Kundendomain bleibt „Waiting for verification“. Der TXT-Eintrag fehlt, hat einen anderen Wert oder hat sich noch nicht verbreitet. Prüfe ihn mit dig TXT _mlw-verify.example.com. Nach 7 Tagen stoppen die automatischen Prüfungen; Verify funktioniert weiter.

Eine Domain wurde abgelehnt. Sie ist bereits auf diesem Server, ein anderes Konto fügt sie gerade hinzu, oder das Paket des Kunden hat keine freie Domain mehr (ein größerer Tarif mit Cashier erlaubt mehr).

Für den Download brauchst du eine Lizenz oder den kostenlosen 30-tägigen Testzeitraum.