Formmailer für verschiedene Empfänger

  • Hallo


    Ich schlag mich schon seit längerem mit einem PHP-Formmailer rum. Es handelt sich hierbei und diesen. Die Bestätigungsseite erscheint, nur eine E-Mail wird nicht verschickt.


    Ich habe nebenher noch ein CGI-Formmailer am laufen, der zwar ganz nett die Mail verschickt, nur sieht die dann ziemlich unübersichtlich aus.


    Habe noch Andis Formmailer ausprobiert, bekomme diesen aber trotz der wirklich guten Anleitung nicht zum laufen. Er bringt einen Fehler in der Zeile 119 der ergebnis.php3. Keine Ahnung wo das Problem dort liegt.


    Was für einen Formmailer ich letzten Endes verwende, ist mir eigentlich egal. Er sollte einzig folgende Kriterien erfüllen:
    - er muss zuverlässig sein, also E-Mail brav verschicken, auch mit copy, bzw .an 2 Empfängerr gleichzeitig.
    - das Aussehen der E-Mail sollte angepasst werden können (nicht so, dass alle Daten untereinander aufgelistet werden)
    - eine anpassbare Dankensseite
    - Er soll für 4 verschiedene Formulare verwendet werden können. Ist aber auch möglich vier mal den selben Formmailer mit anderem Namen (ist eigentlich das, was ich mir vorstelle), weil jeweils anderer Empfänger.


    Wenn mir jemand helfen könnte, wäre ich Euch sehr dankbar

    Grüsse Pünktchen

  • mal ne andere frage: willst du, dass du hier ein fertiges script bekommst oder moechtest du die php-geschichten auch lernen? es wird wenig nuetzen, wenn du jetzt eine liste mit links zu verschiedenen dl-seiten bekommst. die artmedic-scripts sind (soweit ich die sachen getestet habe) sehr zuverlaessig. aber wem unterlaeuft nicht mal bein scripten ein kleiner fehler. und wenn man dann von der sache grundsaetzlich so gar keine ahnung hat, dann kann man die fehler nicht korrigieren und ist aufgeschmissen.


    falls du die sache also doch mal im alleingang versuchen willst:
    - schreib ein formular und mach eine checkbox fuer die copy fuer den absender mit rein
    - schreib ein zweites script, das sie felder des formulars ausliest, zu einer schoenen mail zusammensetzt und versendet


    wenn du das prinzip einmal richtig gefressen hast, dann kannst du sicher schnell deine modulationen alle selbst vornehmen.
    und sollten probleme beim programmieren auftreten, dann findest du hier sicher immer ein offenes ohr. dafuer sind wir ja schliesslich hier. ;)


    gruss
    hardy

  • Vielen Dank für die Antwort.
    Das Formular, bzw. die alle Formulare, selbst ist nicht das Problem. Das hab ich mit HTML gemacht.
    Bisher lief es mittels Frontpage-Erweiterungen auf einem anderen Server.


    Das Problem beim Artmedic-Script ist, dass dieses nicht immer funktioniert. Ich habe es mit Freunden mit 4 verschiedenen Computern (Win 89, Win2000, Win XP, MAC OS-X) und Provider getestet und es lief einwandfrei. Wenn jetzt aber jemand anders das Formular ausfüllt, kommt nichts an. Die Bestätigungs-Seite funktioniert, sonst passiert aber nichts.


    PHP möchte ich schon gerne lernen, ausser dem "Hello World"-Script bekomm ich aber nichts auf die Reihe. Ich begreife irgendwie die Syntax nicht. Verwende dieses Buch
    Das Artmedic-Script verwende ich nicht mit dem automatisch generierten Formular. Habe mir da ein eigenes, umfangreicheres gemacht. Am eigentlichen Script hab ich nix geändert. Kann das Formular mit Script sonst bei Bedarf posten. Den Link angeben geht nicht, weil es in einem Passwortbereich liegt.

    Grüsse Pünktchen

  • was fuer ein os laeuft denn auf deinem online-server?


    was den einstieg und die literatur fuer php angeht, so habe ich mit dem hier angefangen und benutze es selbst heute immer noch gern (sieht mittlerweile auch so aus :) ).
    die tutorials hier im forum (siehe oben) geben eigentlich auch genuegend hinweise und dann sind da ja auch noch andere ... wir! wenn es dir also ernst ist, dann wirst du hier sicher die noetige unterstuetzung finden. nur eins darfst du nicht erwarten: dass es sich so leicht lernt, wie html. ist eben eine programmiersprache.


    was dein script angeht, so wirst du wohl oder uebel etwas script zeigen muessen, da sicher so keiner das problem lokalisieren kann.

  • Betriebssystem: FreeBSD
    Perl [Version]: 5.8.4
    PHP [Version]: 4.3.8 / 5.0.1
    MySQL [Version]: 4.0.20


    Doch, ich will wirklich PHP lernen, tu mich aber ziemlich schwer damit. Kann keine Programmiersprache. Ich mach die Seite zwar mit Dreamweaver, aber ohne eingeschaltetem HTML geht da nix weil viel schneller.
    Vor vielen Jahren hatte wir in der Schule bisschen Basic gelernt, aber das war's dann auch schon.


    Und hier ist deas Formular mit Script

    Grüsse Pünktchen

  • Vielleicht, um das ganze mal zu beschleunigen.
    Was genau an dem geradigen Skript funktioniert denn nicht?


    Meldet er jedesmal

    Code
    1. <p class=\"inputbutton\"><br>Bitte gib Deinen Nachnamen ein<br><br>
    2. <a href=\"javascript:history.go(-1);\" class=\"inputbutton\">
    3. &nbsp;&nbsp;&nbsp;&laquo;&laquo; zurück&nbsp;&nbsp;&nbsp;</A><br><br></p>


    ? Dann ist es ein reines register_globals Problem. Du müsstest also anstatt $Name $_POST['Name'] verwenden.


    Kommt die eMail generell nicht an?
    Dann liegt der Fehler hier:

    PHP
    1. <?php
    2. // Formulardaten verschicken
    3. $header = "From: hier@ist_der_absender.ch\n";
    4. $header .= "Content-Type: text/plain";
    5. mail("hier@ist_der_erste_empfaenger.ch", "Absenzenmeldung","...");
    6. ?>


    Sowohl bei $header muss die richtige emailadresse stehen, als auch bei mail();
    Der mail() Syntax ist im Standart wie folgt aufgebaut:
    mail("emailadresse@des_empfaengers.de","Die Betreffzeile der eMail","die nachricht.");
    Der rest - also informationen wie der Header etc. sind nicht zwingend notwendig.


    Das Skript ist leider so amateurhaft ausgelagert, dass der mailsyntax gleich mehrmals steht und du so mehrmals die eMailadresse anpassen musst.


    Genau dreimal.


    @ADMIN_DES_FORUMS:
    Es wäre echt praktisch, wenn Bulletin bei [ php ] [ / php ] nicht nur Syntax-Hightlighting ausgeben würde, sondern auch Zeilennummern.

    Zwei Dinge sind Unbestreitbar:

    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.

    • Die Erde ist eine Scheibe!

    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

  • Zitat von Dennis The Menace

    Vielleicht, um das ganze mal zu beschleunigen.
    Was genau an dem geradigen Skript funktioniert denn nicht?


    Am Bildschirm sieht alles gut aus. Keine Fehlermeldung, nix.


    Zitat von Dennis The Menace

    Kommt die eMail generell nicht an?


    Ja, kommt generell nicht an. Funktionierte aber mit den vier Testrechnern.


    Zitat von Dennis The Menace

    Dann liegt der Fehler hier:

    PHP
    1. <?php
    2. // Formulardaten verschicken
    3. $header = "From: hier@ist_der_absender.ch\n";
    4. $header .= "Content-Type: text/plain";
    5. mail("hier@ist_der_erste_empfaenger.ch", "Absenzenmeldung","...");
    6. ?>


    Sowohl bei $header muss die richtige emailadresse stehen, als auch bei mail();
    Der mail() Syntax ist im Standart wie folgt aufgebaut:
    mail("emailadresse@des_empfaengers.de","Die Betreffzeile der eMail","die nachricht.");
    Der rest - also informationen wie der Header etc. sind nicht zwingend notwendig.


    Ja. Dort stehen auch die richtigen E-Mail-Adressen. Ich darf sie nur nicht veröffentlichen.


    Zitat von Dennis The Menace

    Das Skript ist leider so amateurhaft ausgelagert, dass der mailsyntax gleich mehrmals steht und du so mehrmals die eMailadresse anpassen musst.
    Genau dreimal.


    Das war ich. Die Mail muss an drei verschiedene Empfänger. Habe es mit zwei mal mail("... , mit CC oder BCC probiert, hat aber nicht funktioniert. Hab dann halt alles untereinander kopiert. Hat bei mir am Rechner online vom Server aus funktioniert. Alle Mails angekommen. Wenn es aber jemand anderes an seinem Rechner ausfüllt, kommt keine Mail an. Das kann nicht irgendwie mit Betriebssystemen auf den lokalen Rechnern zu tun haben, oder? PHP wird doch alles auf dem Server ausgeführt. Hab ich das richtig verstanden?

    Grüsse Pünktchen

  • Weniger auf das Betriebssystem als viel eher auf den verwendeten smtp-server. Bei Linux generell Sendmail, bei Windows Serer 2003 der integrierte und bei anderen Windowsversionen irgendwelche Freeware-tools bzw. Exchange.


    Vorne vorweg; php ist eine Serverseitige Skriptsprache; die Clientseite ist also erschreckend egal. Das heißt, dass - wenn das Skript auf einem Server liegt, der es schafft, dir nach dem ausfüllen eine mail zu schicken, gibt es kein Grund, warum selbiges nicht auch geschieht, wenn andere genanntes Skript aufrufen.


    Ein Problem, warum Mails generell nicht ankommen können, ist das Spam Problem. Emails, die nicht einen ordentlichen header senden (was php standartmäßig nicht tut), werden von den meisten Mailservern generell als Spam makiert.


    Auch kann der smtp-server, der die mails versenden soll, streiken, wenn schlichtweg zu viele emails gesendet werden oder er so eingestellt ist, dass in einer gewissen Zeit nur eine gewisse Anzahl von Mails versendet werden darf.

    Zwei Dinge sind Unbestreitbar:

    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.

    • Die Erde ist eine Scheibe!

    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

  • Hmm, hab also wahrscheinlich das Problem nur vergrössert mit den 3 Empfängern. Die E-Mail-Empfänger sitzen alle hinter dicken Spam-Filtern.


    Ich glaub ich versuch mal die Sache mit einem CGI-Formmailer zu lösen.
    Der, welcher im Augenblick auf dem Server ist, funktioniert und die E-Mails kommen auch an.
    Leider kann ich mit diesem nicht die E-Mail selbst formatieren. Diese sollte in Tabellenform ankommen und nicht als Liste.


    Geht das überhaupt, dass eine Antwort, die mit einem CGI versendet wird, formatiert werden kann?

    Grüsse Pünktchen

  • a) Spricht generell nichts gegen einen formmailer per php :)


    b) cgi = pearl = mehr oder weniger php ;)
    (Mit dem Satz kann man sich schnell Feinde machen)
    Also auch dort ist das Strukturieren der Mails selbstverständlich möglich!

    Zwei Dinge sind Unbestreitbar:

    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.

    • Die Erde ist eine Scheibe!

    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!