S
server4downs
Guest
Hallo zusammen.
Dieses HowTo bezieht sich auf den Thread
- Was mit diesem HowTo erreicht werden soll:
Mit diesem kleinen HowTo soll es ServerAdministratoren möglich gemacht werden einen bestimmten Text an jede E-Mailnachricht, die über mail() versendet wurde anzuhängen.
Dieses HowTo wurde mit PHP4.3.11 getestet.
***
Achtung!
Dieses HowTo funktioniert nicht mit PHP5! Es ist auch nicht garantiert, dass es mit höheren Versionen, als PHP4.3.11 funktioniert.
Bitte auf PHP-CLI-Variante oder Perl-Variante zurückgreifen.
***
Es wird KEINE Haftung für dieses HowTo in jeglicher Form übernommen.
Ein kleiner Hinweis noch: es werden bestimmte Linux-Vorkenntnisse erfordert, die hier nicht in einzelnen Schritten erklärt werden können.
Let's go:
1. Sources ziehen:
z.B. wget http://www.php.net/get/php-4.3.11.tar.gz/from/a/mirror
2. entpacken:
z.B. tar xfz php-4.3.11.tar.gz
3. nach /ext/standart/ wechseln
4. das File mail.c zum Bearbeiten öffnen
5. jetzt geht's mit editing los:
6. Aufsuchen des Abschnitts
7. Mit wenig Aufwand kann nun 'message' ein Text angefügt werden:
In der, per mail() versendeten Mail sieht das dann so aus:
Ok, dann fügen wir noch die IP-Adresse des Versenders unten mit in die Mail:
In der, per mail() versendeten Mail sieht das dann so aus:
10. Editor mit "save" verlassen
11. wieder ins "Stammverzeichnis" von PHP wechseln.
12. nun die gewünschte configure-Anweisung reinhämmern
13. make
14. Bier aufmachen
15. make install
16. Falls es als Apachemodul installiert ist:
Apache neustarten!
z.B. /etc/init.d/apache2 restart
17. test the mail()-function
18. donate 2.000€ to s4d
Viel Spaß damit.
Fehler sind nicht ausgeschlossen aber unwahrscheinlich.
Für Fragen bin ich offen. Jedoch perfekten C-Support kann ich nicht garantieren, da ich mir für diese paar Zeilen da oben schon 2-3 Tage meiner Zeit opfern musste, da ich absolut kein C kann.
Dieses HowTo bezieht sich auf den Thread
Dem body der Mail etwas anhängen
Hallo, schon wieder komme ich mit einer etwas komplizierteren Frage (scheint mir auf jeden Fall so ;)): Ich will jeder E-Mail, die über die php-function mail() versendet einen kleinen "String" (string sollte bitte hier Programmiertechnisch verstanden werden :)) anhängen. D.h. wenn ein User...
serversupportforum.de
- Was mit diesem HowTo erreicht werden soll:
Mit diesem kleinen HowTo soll es ServerAdministratoren möglich gemacht werden einen bestimmten Text an jede E-Mailnachricht, die über mail() versendet wurde anzuhängen.
Dieses HowTo wurde mit PHP4.3.11 getestet.
***
Achtung!
Dieses HowTo funktioniert nicht mit PHP5! Es ist auch nicht garantiert, dass es mit höheren Versionen, als PHP4.3.11 funktioniert.
Bitte auf PHP-CLI-Variante oder Perl-Variante zurückgreifen.
***
Es wird KEINE Haftung für dieses HowTo in jeglicher Form übernommen.
Ein kleiner Hinweis noch: es werden bestimmte Linux-Vorkenntnisse erfordert, die hier nicht in einzelnen Schritten erklärt werden können.
Let's go:
1. Sources ziehen:
z.B. wget http://www.php.net/get/php-4.3.11.tar.gz/from/a/mirror
2. entpacken:
z.B. tar xfz php-4.3.11.tar.gz
3. nach /ext/standart/ wechseln
4. das File mail.c zum Bearbeiten öffnen
5. jetzt geht's mit editing los:
6. Aufsuchen des Abschnitts
Code:
fprintf(sendmail, "To: %s\n", to);
fprintf(sendmail, "Subject: %s\n", subject);
if (headers != NULL) {
fprintf(sendmail, "%s\n", headers);
}
fprintf(sendmail, "\n%s\n", message);
ret = pclose(sendmail);
Code:
fprintf(sendmail, "To: %s\n", to);
fprintf(sendmail, "Subject: %s\n", subject);
if (headers != NULL) {
fprintf(sendmail, "%s\n", headers);
}
fprintf(sendmail, "\n%s\n", message);
[B]fprintf(sendmail, "\n%s\n", "-------\npowered by s4d\nbla..bla...bla... advertisement");[/B]
ret = pclose(sendmail);
8. (optional) immer noch nicht genug?Dear xxx,
this awesome mail has been sent by some dumb PHP-Script using
mail(). I hope you like it.
regards,
s4d
-------
powered by s4d
bla..bla...bla... advertisement
Ok, dann fügen wir noch die IP-Adresse des Versenders unten mit in die Mail:
Code:
fprintf(sendmail, "To: %s\n", to);
fprintf(sendmail, "Subject: %s\n", subject);
if (headers != NULL) {
fprintf(sendmail, "%s\n", headers);
}
fprintf(sendmail, "\n%s\n", message);
[B]fprintf(sendmail, "\n%s\n", "-------\npowered by s4d\nbla..bla...bla... advertisement\nIP des Versenders:");[/B]
[B]if (PG(http_globals)[TRACK_VARS_SERVER]) {
zval **remote_addr;
if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht,"REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **) &remote_addr)==SUCCESS) {
convert_to_string_ex(remote_addr);
fprintf(sendmail, "%s", Z_STRVAL_PP(remote_addr));
}
}[/B]
ret = pclose(sendmail);
9. (optional) Schritt 8 kann natürlich noch modifiziert werden... (andere Globals verwenden, wie z.B. die URL des Scripts etc).Dear xxx,
this awesome mail has been sent by some dumb PHP-Script using
mail(). I hope you like it.
regards,
s4d
-------
powered by s4d
bla..bla...bla... advertisement
IP des Versenders:
12*.14*.15.7
10. Editor mit "save" verlassen
11. wieder ins "Stammverzeichnis" von PHP wechseln.
12. nun die gewünschte configure-Anweisung reinhämmern
13. make
14. Bier aufmachen
15. make install
16. Falls es als Apachemodul installiert ist:
Apache neustarten!
z.B. /etc/init.d/apache2 restart
17. test the mail()-function
18. donate 2.000€ to s4d
Viel Spaß damit.
Fehler sind nicht ausgeschlossen aber unwahrscheinlich.
Für Fragen bin ich offen. Jedoch perfekten C-Support kann ich nicht garantieren, da ich mir für diese paar Zeilen da oben schon 2-3 Tage meiner Zeit opfern musste, da ich absolut kein C kann.
Last edited by a moderator: