Sendmail - Text anhängen

mbanse

Registered User
Hey Leute,

Ich wollte, dass bei allen Emails die über Sendmail mit der mail() Funktion in PHP versendet werden, noch ein Textanhang versendet wird.

Habe dazu eine sendmail.pl geschrieben bzw. kopiert und bei mir in Home abgelegt.

Code:
#!/usr/bin/perl
open(MAIL, "| /usr/lib/sendmail -oi -t") or die "can't open sendmail";
while (<STDIN>) {
   print $_;
}
print qq(
---
Powered by blabla
);
close MAIL;

Und in der php.ini dann bei

;For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

einfach bei ;sendmail_path = /home/bla/bla/sendmail.pl eingetragen.
(Hab natürlich auch das ; entfernt).

Dann der Datei chmod +x gegeben.
Aber wenn ich nun mit mail() eine Email verschicken will, passiert nichts.

Hab ich etwas übersehen oder generell einen Fehler gemacht?


greetz und Danke ;)
 
Schaut so aus wie das Script von Huschi (https://serversupportforum.de/threads/mini-howto-php-mail-function-umbauen.3357/post-24701).
Ich habe die ganze Geschicht ähnlich (aber besser :)) mit einem CLI-PHP-Script gelöst.
Ich bin nicht so der Perl-Freak und kann dir hierbei weniger helfen.
In PHP ging es auch eine ganze Weile, weil ich eine Reihe von Features einbauen musste.
Wenn du Perl beherrscht, dann solltest du auch in der Lage sein zu debuggen. In diesem Falle würde ich zumindest vorrübergehend eine Logdatei für das Script einrichten, dann weißt du, wos klemmmt.
 
Hi,

naja bin nicht ganz sicher in Perl das ist noch das Prob ;).

Kannst du mir vielleicht deine Variante kurz erläutern mit dem CLI-PHP-Script? Also vll n kurzer Code und wie ich das einbinde *g

Wäre ich dankbar für ;)


greetz
 
So, ein bissle "Futter" für dich:

Viel Spaß damit.
Habe das HowTo für dich erweitert.
 
Hi,

ich nochmal *g

nenn mich vielleicht zu blöd oder sonst was *gg, aber wenn ich die sendmail_fake.php erstelle, (mit deinem Code), der den chmod 0755 gebe und dann den sendmail_path in der php.ini auf /usr/sbin/sendmail_fake.php (und am Anfang der Zeile auch das ; entferne, sonst wird es ja auskommentiert) dann funzt sendmail bei mir nicht mehr...
Sprich wenn ich dann eine Email mit mail() versenden will, kommt diese nicht an, kommentiere ich den sendmail_path wieder aus, funzt es wieder.

Dazwischen natürlich jedes mal einen apache2 restart, ist klar ;)

Hab auch die Shebang Zeile vor <?php eingefügt.
Ausserdem hab ich es probiert den user auf wwwrun zu setzen, hat aber ebenfalls nichts gebracht.
Überseh ich sonst irgendetwas? Bin glaube auf irgend einem Auge blind... *g



greetz
 
Quizfrage:
hast du PHP überhaupt als CLI installiert?
Schonmal was von debuggen gehört?
Wenn ja, dann mach es :D
Wenn nein, dann erklär ich dir es ;)
Einfach mal ein Script erstellen, was nur etwas per echo ausgibt und dann mal ausführen.
Sprich du haust in die sendmail_fake.php
<?php
echo "heineken is tasty";
?>
Mit shebang vorne dran und ausführbar. Dann einfach über Console ausführen...
Du musst als Admin kreativ sein...
 
Hey,

Also wenn ich einfach nur nen schnieken echo Befehl eingebe und die Datei aufrufe wird der echo Befehl auch ausgegeben, soll also heissen es müsste eigentlich funktionieren, oder sehe ich des falsch?

greetz *gg*
 
mbanse said:
Hey,

Also wenn ich einfach nur nen schnieken echo Befehl eingebe und die Datei aufrufe wird der echo Befehl auch ausgegeben, soll also heissen es müsste eigentlich funktionieren, oder sehe ich des falsch?

greetz *gg*
Wie weit reichen deine PHP-Künste?
Bist du Anfänger, Halbchecker oder Checker?
Solltest du kein Anfänger sein, sollte es dir nicht all zu schwer sein mal ne kleine Log-Datei zu bauen, dann siehst du, wie wo und was übergeben wird.
 
Hi,

son zwischending von Anfänger und Halbchecker *g.
Mitm selber Coden ist es noch manchmal etwas schwierig, jedoch kann ich in einen Code reinsehen und weiss (in der Regel) was dort abläuft. xD


greetz
 
Hi, sorry für die verspätete Antwort.
Also ich habe dir ja jetzt die Grundzüge genannt, wie es generell funktioniert.
Da es leider wirklich in die Kategorie "Betriebsgeheimnis" fällt, wenn ich hier jetzt einen gewissen Code posten würde, für den ich auch mehrere Stunden mir den Kopf zerbrochen habe...
Mache dich über Google einfach mal über PHP CLI schlau.. und stecke ein wenig mehr Ehrgeiz rein. Nichts ist unmöglich.
Und danach kannst du dir sagen: yes, I did it myself!

Sorry, aber da darf/kann ich dir jetzt nicht weiterhelfen.
 
Hi,

danke schomaa ;) jetzt werden damit auch Mails versendet.
Nur mein gewünschter Text wird nicht mit angehangen.

Es steht denn nur der eigentliche Email Text da, der ohnehin verschickt werden soll.


greetz ;)
 
mbanse said:
Nur mein gewünschter Text wird nicht mit angehangen.
Wenn Du mal die Augen auf machen würdest, könntest Du den Fehler selber entdecken.
(Tipp: es ist der selbe Fehler nochmal.)

huschi.
 
Hey,

danke ;) nach mehrmaligem Probieren hab ich es gefunden ;)

danke fürs zeitverschwenden *gg*



greetz
 
Back
Top