Wie erhalte ich die Ausgabe eines PHP-Skripts, das von einer Pipe-Mail ausgeführt wird?

Wie erhalte ich die Ausgabe eines PHP-Skripts, das von einer Pipe-Mail ausgeführt wird?

Ich habe eine E-Mail-Adresse konfiguriert, die alle E-Mails an /path/to/script.php weiterleitet.

Ich dachte, ich erhalte die Ausgabe des Skripts als E-Mail-Antwort, aber es funktioniert nicht.

Wie kann ich die Ausgabe des Skripts abrufen und eine Antwort-E-Mail mit der Ausgabe als E-Mail-Inhalt senden?

(*) Ich weiß, dass ich mail() im Skript verwenden kann, aber ich habe keine Berechtigung, das Skript zu bearbeiten, und ich kann das Skript nicht kopieren, da es von Zeit zu Zeit aktualisiert wird.

Antwort1

Sie könnten einfach ein weiteres Rohr hinzufügen undteedie Rohmail in eine temporäre Datei, dann eine Weiterleitung an das erwähnte schreibgeschützte Skript und schließlich eine Weiterleitung an ein anderes PHP-Skript, das den Rest erledigt.

Das letzte PHP-Skript liest die Ausgabe des schreibgeschützten Skripts und die Absenderadresse aus der temporären Datei und sendet die E-Mail dann mit der PHP-Funktion mail().

| tee /path/to/tmp/file | /path/to/script.php | /path/to/another.php

Übrigens, ich habe noch nie einen solchen Ansatz verwendet und ich weiß auch nicht, ob es möglich ist, aber es sieht so aus, als obCans Antwortkönnte klappen mitBefehlszeilenmakros, es ist eine bessere Lösung. Wenn es also funktioniert, antworten Sie bitte hier und sagen Sie uns, wie.

Antwort2

Es tut mir leid, aber wenn das Skript nicht für die ordnungsgemäße Funktion konzipiert ist, wird es nicht wissen, wie es automatisch antworten soll, nur weil Sie Daten weiterleiten, um dies zu tun.

Wenn Sie das Skript nicht ändern können, müssen Sie möglicherweise ein anderes Front-End-Skript schreiben, das die Ausgabe erfasst und die gewünschten Aktionen ausführt.

Antwort3

Sie können Ihre Mailing-Konfiguration ändern. Sie sollte in etwa so aussehen:

<run your php file with arguments> | sendmail <arguments>

Ohne Ihre Konfiguration zu kennen, ist es schwierig, genaue Angaben zu machen.

verwandte Informationen