Gerhard: Mailversand mit PHP

Hallo,

habe "mail" als Möglichkeit gefunden, mails zu versenden.
Ist dies zu empfehlen oder gibt es andere/bessere Alternativen? Schönen Gruß Gerhard

  1. „mail()“ ist sehr einfach. Wenn es aber Mails mit Text und HTML-Teil und oder Anhang werden sollen und der SMTP Des Webhosters nicht benutzt werden soll kann die Nutzung von Bibliotheken wie z.B. phpmailer vorteilhaft sein.

    Es gibt also Alternativen. Ob und welche „besser“ ist entscheidet sich anhand von Umständen über welche Du nichts mitteilst.

    Was immer Du nimmst achte peinlich genau auf die folgende Grundregeln:

    1. Ein Webseitenbesucher bestimmt ENTWEDER den Inhalt (inkl. Subjekt) ODER den Empfänger (auch Kopien) des Mails. Sonst kannst Du Deinen Webauftritt gleich als Spam-Maschine vermieten.
    2. Im Web finden sich viele Skripte für den Mailversand, die aber teilweise sehr unsicher sind.
    1. Hallo,
      ich möchte die Eingaben in ein Kontaktformular an den Webmaster senden.
      Es soll reiner Text ohne Anhänge sein.
      Ich würde daher mail() verwenden.
      Absender, Empfänger und Betreff sind fest im PHP-Programm vorgegeben. Der Besucher kann daher nur den Text eingeben.
      Muss ich dann irgend etwas mit dem mb_encode_mimeheader() prüfen?

      1. Hallo Gerhard,

        ich möchte die Eingaben in ein Kontaktformular an den Webmaster senden.
        Es soll reiner Text ohne Anhänge sein.
        Ich würde daher mail() verwenden.
        Absender, Empfänger und Betreff sind fest im PHP-Programm vorgegeben. Der Besucher kann daher nur den Text eingeben.

        unter diesen Voraussetzungen könnte mail() tatsächlich ausreichen. Das setzt aber voraus, dass der Mailversand auf diese Weise auch von deinem Hoster eingerichtet ist (sollte eigentlich, ist aber nicht immer). Das müsstest du dann klären.

        Bedenke auch, dass du bei Verwendung von mail() keine Kontrolle hast, ob die Nachricht auch angekommen ist. Ja, man könnte meinen, dass der Rückgabewert der Funktion auf Erfolg oder Misserfolg hinweist, aber das ist ein Irrtum. Im PHP-Handbuch heißt es zu mail() auch:

        Returns true if the mail was successfully accepted for delivery

        Ein true bedeutet also nur, dass das Mail-Subsystem die Nachricht für den Versand entgegengenommen hat, mehr nicht.

        Muss ich dann irgend etwas mit dem mb_encode_mimeheader() prüfen?

        Soweit ich weiß, brauchst du das nur, wenn in einer Mail-Headerzeile (also vor allem Empfänger, Absender oder Betreff) Non-ASCII-Zeichen vorkommen.

        Einen schönen Tag noch
         Martin

        --
        Мир для України.