API-Dokumentation
Der PHP-Connector sendet serverseitige Anfragen. Schlüssel niemals in JavaScript oder im Browser speichern.
1. Installation
- Erstellen Sie mailguard.sygnexproduction.com, aktivieren Sie HTTPS und legen Sie das Dokumentenstammverzeichnis direkt auf die Guard-Dateien.
- Importieren Sie install_guard.sql in die zentrale Datenbank, die bereits die Tabelle utilisateurs enthält.
- Konfigurieren Sie config/local.php und setzen Sie ein zufälliges Installations-Token mit mindestens 40 Zeichen.
- Öffnen Sie /admin/setup.php, um den ersten Administrator anzulegen, und melden Sie sich dann unter /admin/index.php an.
- Erstellen Sie eine Website im Dashboard, kopieren Sie API-Schlüssel und Geheimnis einmalig und definieren Sie erlaubte Empfänger.
- Installieren Sie den PHP-Connector auf dem Server der Quellwebsite. Rufen Sie die API niemals aus Browser-JavaScript auf.
2. PHP-Beispiel
Der Connector ist eigenständig und verwendet die nativen HTTPS-Funktionen von PHP ohne Drittanbieterbibliothek. Er erwartet eine JSON-Antwort. Das Formular muss die Felder serverseitig übermitteln.
<?php
require_once __DIR__ . '/client-sdk/sygnex-guard-connector.php';
$guard = new SygnexGuardConnector(
'YOUR_API_KEY',
'YOUR_API_SECRET',
'https://mailguard.sygnexproduction.com/api/intercept.php',
'www.your-site.example'
);
$result = $guard->submit([
'nom_expediteur' => $_POST['nom'] ?? '',
'email_expediteur' => $_POST['email'] ?? '',
'email_destinataire' => 'contact@your-site.example',
'sujet' => $_POST['sujet'] ?? 'Website message',
'corps_message' => $_POST['message'] ?? '',
'langue' => 'fr',
'website' => $_POST['website'] ?? '', // honeypot: keep empty
]);
if (!$result['ok']) {
// Handle service or quota errors; never expose API secrets.
}Das Feld website muss verborgen sein und bei einer menschlichen Eingabe leer bleiben.
3. API-Felder
| Feld | Erforderlich | Beschreibung |
|---|---|---|
api_key | Ja | Der Website zugewiesene API-Bezeichner. |
api_secret | Ja | Geheimnis, das nur über HTTPS von Server zu Server übertragen wird. |
site_domain | Ja | Im Dashboard registrierte Domain. |
nom_expediteur | Ja | Name des Absenders (maximal 150 Zeichen). |
email_expediteur | Ja | Gültige Antwort-E-Mail-Adresse. |
email_destinataire | Ja | Muss exakt einer für diese Website freigegebenen Adresse entsprechen. |
sujet | Ja | Maximal 255 Zeichen. |
corps_message | Ja | Nachrichtentext (maximal 60.000 Bytes). |
langue | Nein | fr, en, de, it, zh oder vi. |
website | Nein | Honeypot-Feld; muss leer bleiben. |
pieces_jointes | Nein | JSON-Array mit name, mime und content_base64; Formate und Größe sind begrenzt. |
4. Übliche Antworten
200 sent— Absender bereits autorisiert; Nachricht zugestellt.202 verification_required— Menschliche Prüfung erforderlich; eine E-Mail zur Bestätigung wird gesendet.202 received— Bewusst neutrale Antwort bei bestimmten Spam-Sperren.401 unauthorized— API-Schlüssel oder Geheimnis falsch.403 recipient_not_allowed— Empfänger für diese Website nicht zugelassen.429 rate_limited / monthly_quota_exceeded— Ratenlimit oder Monatskontingent erreicht.503 service_unavailable— Konfiguration, Datenbank oder E-Mail-Versand nicht verfügbar.
5. Wichtige Betriebsgrenzen
Die Anwendung verwendet die native PHP-Funktion mail(). Ein erfolgreicher Rückgabewert garantiert keine Zustellung im Posteingang. Prüfen Sie die Versandbedingungen des Hosters und konfigurieren Sie SPF, DKIM und DMARC. MX/SPF/DMARC-Prüfungen sind indikativ und beweisen die Domainidentität nicht kryptografisch. Die Rechenaufgabe reduziert automatisierten Spam, ist aber kein unfehlbarer Schutz.
Anhänge werden als Base64 übertragen und müssen die Grenzen in config/local.php einhalten. Erlaubte Empfänger müssen für jede Website ausdrücklich konfiguriert werden; nicht deklarierte Empfänger werden abgelehnt.
6. Kontingente und Verbrauch
Die anfänglichen Richtwerte betragen 100 geschützte Nachrichten pro Monat im kostenlosen Tarif und 1.000 im Premium-Tarif. Enterprise erhält ein manuell festgelegtes individuelles Kontingent. Administratoren können Kontingente anpassen. Der interne Tarif ignoriert die kommerzielle Nachrichtengrenze, unterliegt aber technischen Schutzmaßnahmen und Hosting-Ressourcenlimits.
Guard erfasst geschützte Nachrichten und tatsächlich von mail() akzeptierte ausgehende E-Mails getrennt. Warnungen sind bei 70 %, 90 % und 100 % vorgesehen. Nach Erreichen des Monatskontingents werden neue Einsendungen abgelehnt, bis der Monat wechselt oder das Kontingent geändert wird. Prüfen Sie die tatsächliche Versandkapazität beim Hoster, bevor Sie hohe Volumen anbieten.