GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> cPanel

So leiten Sie eingehende E-Mail-Nachrichten an eine Skriptdatei weiter

Mit cPanel können Sie E-Mail-Weiterleitungen einrichten, die eingehende E-Mail-Nachrichten an eine Skriptdatei weiterleiten. Sie können dann eine Skriptdatei programmieren, um die eingehenden Nachrichten automatisch so zu verarbeiten, wie Sie es wünschen.

Konfigurieren eines Skripts

Die folgenden Sprachen werden derzeit für E-Mail-Weiterleitungsskripte unterstützt:

  • PHP
  • Perl
  • Python
  • Rubin

Wenn Sie ein Skript einrichten, müssen Sie zwei Dinge tun, um sicherzustellen, dass die Weiterleitung korrekt funktioniert:

  1. Verwenden Sie das richtige Shebang: Dies hängt von der Sprache ab, in der Sie das Skript schreiben. Beispielsweise sollte eine PHP-Skriptdatei den folgenden Shebang am Anfang der Datei verwenden:
    #!/usr/bin/php -q
    Das -q Die Option aktiviert den stillen Modus, der die Ausgabe des HTTP-Headers unterdrückt. Informationen zu den korrekten Shebangs für andere Sprachen finden Sie in diesem Artikel.
  2. Legen Sie die richtigen Dateiberechtigungen für das Skript fest: Geben Sie dazu den folgenden Befehl ein und ersetzen Sie scriptfile mit dem Skriptdateinamen:

    chmod 755 scriptfile
    

Bei Konfigurationsfehlern im Forwarder oder in der Skriptdatei erhält der Absender der Nachricht folgende Nachricht:

Mail delivery failed: returning message to sender

Darüber hinaus listet diese Rückgabenachricht möglicherweise Fehler auf, die Codefragmente aus der Skriptdatei enthalten. Stellen Sie sicher, dass Sie Ihre Skriptdatei gründlich testen, bevor Sie sie mit einem aktiven E-Mail-Forwarder verwenden!

Beispiel-PHP-Skript

Das folgende PHP-Codebeispiel zeigt eine Möglichkeit, eine eingehende E-Mail-Nachricht zu verarbeiten. Das Skript liest einfach die Nachricht von stdin und speichert dann den Nachrichtentext in einer Variablen namens $message :

#!/usr/bin/php -q
<?php

$fd = fopen( "php://stdin", "r" );

$message = "";

while ( !feof( $fd ) )
{
    $message .= fread( $fd, 1024 );
}

fclose( $fd );

// The $message variable now holds the entire message text,
// which you can use for further processing.

?>

Hinzufügen einer E-Mail-Weiterleitung in cPanel

Gehen Sie folgendermaßen vor, um eine E-Mail-Weiterleitung hinzuzufügen, die zu einer Skriptdatei umleitet:

  1. Melden Sie sich bei cPanel an. Wenn Sie nicht wissen, wie Sie sich bei Ihrem cPanel-Konto anmelden, lesen Sie bitte diesen Artikel.
  2. Klicken Sie im Abschnitt E-MAIL des cPanel-Startbildschirms auf Weiterleitungen:

  3. Klicken Sie auf Weiterleitung hinzufügen.
  4. Geben Sie im Textfeld Weiterzuleitende Adresse den Benutzernamen des Kontos ein.
  5. Wählen Sie im Listenfeld Domäne die Domäne für das E-Mail-Konto aus.
  6. Klicken Sie auf "Erweiterte Optionen".
  7. Klicken Sie auf Pipe to a Program und geben Sie dann im Textfeld den Pfad zum Skript relativ zu Ihrem Home-Verzeichnis ein. Zum Beispiel, wenn sich Ihr Skript unter /home/username/scripts/process_mail.php befindet , würden Sie scripts/process_mail.php.
  8. eingeben
  9. Klicken Sie auf Weiterleitung hinzufügen. Der Forwarder wird sofort aktiviert.
  10. Sie können die Weiterleitung testen, indem Sie eine E-Mail-Nachricht an die E-Mail-Adresse senden. Die entsprechende Skriptdatei sollte ausgeführt werden.

cPanel
  1. E-Mail-Nachrichten werden nicht an Gmail-Konten weitergeleitet

  2. E-Mail-Nachrichten werden nicht an Outlook.com (Hotmail)-Konten weitergeleitet

  3. Wie erstelle ich eine temporäre Datei im Shell-Skript?

  4. Wie fügt man Daten an den Puffer im Shell-Skript an?

  5. So führen Sie ein Shell-Skript beim Start aus

So führen Sie Shell-Skript als Systemd-Dienst in Linux aus

So laden Sie eine Datei auf den Server hoch

So erstellen Sie eine Website-Datei

So ändern Sie Dateiberechtigungen

So kopieren Sie eine Datei im Dateimanager

So schließen Sie eine Datei in ein Bash-Shell-Skript ein