SMTP-Graph-Relay ist ein SMTP-Server, der eingehende E-Mails empfängt und sie über die Microsoft Graph API weiterleitet. Dies ermöglicht eine nahtlose Integration von Legacy-SMTP-Anwendungen mit modernen Microsoft 365-Diensten.
- Funktionen
- Voraussetzungen
- Schnellstart
- Installation für Entwickler
- Konfiguration
- Azure App-Registrierung
- Als Windows-Dienst einrichten
- Beitragen
- Lizenz
- SMTP-Server zum Empfangen von E-Mails (Der Server läuft Plain ohne SSL/TLS)
- Weiterleitung von E-Mails über Microsoft Graph API
- IP-Whitelist für eingehende Verbindungen
- Unterstützung für Dateianhänge
- Einfache Konfiguration über Umgebungsvariablen
- Eine Microsoft Azure-Anwendung mit den erforderlichen Berechtigungen
-
Laden Sie die neueste Version der
SMTP-Relay.exe
von der Releases-Seite herunter. -
Erstellen Sie eine
.env
-Datei im gleichen Verzeichnis wie die .exe-Datei (siehe Konfiguration). -
Führen Sie die
SMTP-Relay.exe
aus.
Wenn Sie an dem Projekt entwickeln oder es direkt als Quelle ausführen möchten, folgen Sie diesen Schritten:
-
Stellen Sie sicher, dass Node.js (Version 14 oder höher) installiert ist.
-
Klonen Sie das Repository:
git clone https://github.com/BitcircuitEU/SMTP-Graph-Relay.git
- Wechseln Sie in das Projektverzeichnis:
cd SMTP-Graph-Relay
- Installieren Sie die Abhängigkeiten:
npm install
- Erstellen Sie eine
.env
-Datei im Hauptverzeichnis des Projekts (siehe Konfiguration).
Erstellen Sie eine .env
-Datei im Hauptverzeichnis des Projekts mit folgenden Variablen:
ALLOWED_IPS=127.0.0.1,192.168.0.0/24
SMTP_PORT=25
TENANT_ID=your_tenant_id_here
CLIENT_ID=your_client_id_here
CLIENT_SECRET=your_client_secret_here
[email protected]
ALLOWED_IPS
: Komma-getrennte Liste von IP-Adressen oder CIDR-Bereichen, die sich mit dem SMTP-Server verbinden dürfen.SMTP_PORT
: Der Port, auf dem der SMTP-Server laufen soll (Standard: 25).TENANT_ID
: Die Tenant-ID Ihrer Azure-Anwendung.CLIENT_ID
: Die Client-ID Ihrer Azure-Anwendung.CLIENT_SECRET
: Das Client-Secret Ihrer Azure-Anwendung.SENDER
: Die Standard-E-Mail-Adresse, die als Absender verwendet wird, wenn keine angegeben ist.
Dies erstellt eine ausführbare Datei im dist
-Verzeichnis.
Um SMTP-Graph-Relay zu verwenden, müssen Sie eine Azure-Anwendung registrieren und die erforderlichen Berechtigungen konfigurieren.
-
Melden Sie sich beim Azure-Portal an.
-
Navigieren Sie zu "App-Registrierungen" und klicken Sie auf "Neue Registrierung".
-
Geben Sie einen Namen für Ihre Anwendung ein und klicken Sie auf "Registrieren".
-
Notieren Sie sich die "Anwendungs-ID (Client)" und die "Verzeichnis-ID (Tenant)" von der Übersichtsseite.
-
Unter "Zertifikate & Geheimnisse", erstellen Sie ein neues Client-Geheimnis.
-
Unter "API-Berechtigungen", fügen Sie die Berechtigung "Mail.Send" als Anwendungsberechtigung hinzu.
-
Klicken Sie auf "Administratorzustimmung erteilen" für Ihre Organisation.
Verwenden Sie die Anwendungs-ID als CLIENT_ID
, die Verzeichnis-ID als TENANT_ID
, und das Client-Geheimnis als CLIENT_SECRET
in Ihrer .env
-Datei.
Sie können SMTP-Graph-Relay als Windows-Dienst mit NSSM (Non-Sucking Service Manager) einrichten. Hier sind die Schritte:
-
Laden Sie NSSM von der offiziellen Website herunter.
-
Extrahieren Sie die heruntergeladene ZIP-Datei.
-
Öffnen Sie eine Eingabeaufforderung als Administrator und navigieren Sie zum Verzeichnis, in dem Sie NSSM extrahiert haben.
-
Führen Sie den folgenden Befehl aus, um den NSSM-Dienst-Editor zu öffnen:
nssm.exe install SMTP-Graph-Relay
- Im NSSM-Dienst-Editor:
- Setzen Sie den "Path" auf den Pfad Ihrer generierten .exe-Datei.
- Setzen Sie den "Startup directory" auf das Verzeichnis, das die .exe-Datei enthält.
- Unter dem Tab "Details", setzen Sie "Display name" und "Description" nach Bedarf.
- Unter dem Tab "Environment", fügen Sie Ihre Umgebungsvariablen hinzu (aus der .env-Datei).
-
Klicken Sie auf "Install service".
-
Um den Dienst zu starten, führen Sie aus:
nssm.exe start SMTP-Graph-Relay
Jetzt läuft SMTP-Graph-Relay als Windows-Dienst und startet automatisch beim Systemstart.
Beiträge sind willkommen! Bitte lesen Sie zunächst die Beitragsrichtlinien.
Dieses Projekt ist unter der Unlicensed-Lizenz lizenziert. Weitere Details finden Sie in der LICENSE-Datei.