Georgi: Mailversand

Hi, wie versendet man am besten mails über php? Ich habe zwei Vorschläge gefunden aber vielleicht gibt es noch weitere?

  1. header ("Location: mailto:$empfaenger?subject=xxxxxxxx");
  2. mail();
  1. Lieber Georgi,

    wie man am besten eine Mail versendet hängt von einer Vielzahl von Faktoren ab. Beschreibe also Dein Vorhaben genauer. Erlaube mir einen Tipp: Manchmal ist das "Beste" schlicht "gar nicht".

    Dein

    header ("Location: mailto:$empfaenger?subject=xxxxxxxx");
    

    veranlasst (bestenfalls) den Browser eines Benutzers bei dessen Betriebssystem den Start (oder auch nur ein Fenster) des Mailclients anzufordern und Empfänger sowie Subjekt in die passenden Eingabefelder einzusetzen. PHP versendet in dem Fall nichts.

    1. Hi, in der Tat, was ich mir vorgestellt habe, habe ich nicht deutlich ausgedrückt!
      Ich möchte in der Tat den beim Anwender installierten Mail-Client aufrufen. Dabei möchte ich neben Absender, Empfänger, Betreff alle notwendigen Parameter mitgeben.

      1. Dabei möchte ich neben Absender, Empfänger, Betreff alle notwendigen Parameter mitgeben.

        Der Mailclient wird es wohl kaum zulassen, den Absender zu überschreiben, sondern die Daten eines konfigurierten Benutzers (desjenigen, der am OS angemeldet ist) eintragen. Falls der Mailclient das zulässt kann es sein, dass das Mail nicht versendet werden kann weil der um den Versand gebetene SMTP-Server es so nicht akzeptiert oder den Absender wieder ersetzt und falls der Versand mit einer fremden Adresse als Absender doch möglich sein sollte wird es der Mailserver des Empfängers womöglich nicht akzeptieren weil ihm ein SPF-Record sagt, dass Mails mit diesem Absender stets ganz woanders herkommen…

        Dies alles dient dazu, zu verhindern, dass wildgewordene "Elite ([3]1337)-Webmaster" (Skriptkiddies) oder dumpfe Spammer Mails unter falschem Namen versenden.

        1. Richtig, den Absender gebe ich natürlich nicht an.

          1. Wenn Du den Absender nicht angeben willst, aber willst, dass ein womöglich installierter und konfigurierter Mailclient beim Benutzer vorausgefüllt gestartet wird, dann kommt neben header() vor allem ein simpler Link in Betracht.

      2. Hallo,

        … den beim Anwender installierten Mail-Client …

        bist du sicher, das es den gibt?

        Gruß
        Jürgen

        1. Wenn der Anwender auf den Button klickt "Nachricht an Admin senden", weiß er hoffentlich, was er tut, zumal davor die Möglichkeit besteht, ein Kontaktformular aufzurufen.

          1. Wenn der Anwender auf den Button klickt "Nachricht an Admin senden", weiß er hoffentlich, was er tut,

            Dein "hoffentlich" trifft auf ~ 0,000000000000001% der Anwender zu. Also diejenigen, die vor einem Click auf einer Webseite deren Quelltext a) lesen und b) verstehen (wenn es denn ein Link ist, bei header() sind die chancenlos). Schon Punkt a) erfordert, dass der- oder diejenige ziemlich paranoid ist. Genau diese "paranoiden" haben dann aber womöglich auch die Weiterleitung per Serveranforderung (header( … )) verboten…

          2. Hallo,

            Wenn der Anwender auf den Button klickt "Nachricht an Admin senden", weiß er hoffentlich, was er tut,

            also bist du nicht sicher.

            zumal davor die Möglichkeit besteht, ein Kontaktformular aufzurufen.

            OK.

            Gruß
            Jürgen

            1. Hallo,

              Wenn der Anwender auf den Button klickt "Nachricht an Admin senden", weiß er hoffentlich, was er tut,

              also bist du nicht sicher.

              Wo gibt es schon 100%ige Sicherheit?

        2. Hello,

          Hallo,

          … den beim Anwender installierten Mail-Client …

          bist du sicher, das es den gibt?

          Die Frage ist doch sekundär. Es gibt reichlich Webseiten, die einen Link mit mailto: als Pseudoprotokoll bereitstellen und die meisten Clients unterstützen dies auch.

          Spannender ist doch die Frage, was geschieht alternativ am Client, wenn er keinen Standardmailclient eingerichtet hat?

          Kann man das irgenwie abfangen, um eine Alternative anbieten zu können?

          Glück Auf
          Tom vom Berg

          --
          Es gibt nichts Gutes, außer man tut es!
          Das Leben selbst ist der Sinn.
          1. Spannender ist doch die Frage, was geschieht alternativ am Client, wenn er keinen Standardmailclient eingerichtet hat?

            Bestenfalls eine Fehlermeldung des Browsers, dass für das Protokoll "mailto:" keine Anwendung konfiguriert sei. Aber definitiv nichts, was man auf dem Server auswerten könnte.

          2. Hallo Tom,

            … den beim Anwender installierten Mail-Client …

            bist du sicher, das es den gibt?

            Die Frage ist doch sekundär. Es gibt reichlich Webseiten, die einen Link mit mailto: als Pseudoprotokoll bereitstellen und die meisten Clients unterstützen dies auch.

            Spannender ist doch die Frage, was geschieht alternativ am Client, wenn er keinen Standardmailclient eingerichtet hat?

            bei mir ist ein Mailclient installiert und konfiguriert, der Browser nimmt aber den anderen nicht konfigurierten, der dann seinen Konfigurationswizzard startet 😟.

            Gruß
            Jürgen

            1. Hallo,

              Spannender ist doch die Frage, was geschieht alternativ am Client, wenn er keinen Standardmailclient eingerichtet hat?

              bei mir ist ein Mailclient installiert und konfiguriert, der Browser nimmt aber den anderen nicht konfigurierten, der dann seinen Konfigurationswizzard startet 😟.

              dann ist der nicht-konfigurierte offenbar als Default-Anwendung für das mailto-Protokoll eingestellt. Und umgekehrt ist der fertig konfigurierte, den du verwendest, nicht der Standard-Mailclient des Systems.

              Ciao,
               Martin

              --
              "Wenn man ein Proton aufmacht, sind drei Quarks drin."
              - Joachim Bublath in der Knoff-Hoff-Show
              1. Hallo Martin,

                dann ist der nicht-konfigurierte offenbar als Default-Anwendung für das mailto-Protokoll eingestellt. Und umgekehrt ist der fertig konfigurierte, den du verwendest, nicht der Standard-Mailclient des Systems.

                das wird so sein, allerdings haben das Windows und Firefox ohne meine (bewusste) Teilnahme ausgehandelt.

                Ich wollte damit auch nur ausdrücken, dass man bei mailto: mit allem rechnen muss. Ich hatte es auch schon mal, dass der mailto-Link das im Browser bekannte Webinterface des Mailanbieters aufgerufen hat.

                Gruß
                Jürgen

          3. Liebe Mitdenker, liebe Wissende, liebe Neugierige,

            das würde mich auch interessieren. Könnte man per JavaScript testen, ob ein Mailclient installiert ist und funktioniert?

            Spirituelle Grüße
            Euer Robert

            --
            Möge der Forumsgeist ewig leben!
      3. Hallo Georgi,

        Ich möchte in der Tat den beim Anwender installierten Mail-Client aufrufen.

        https://wiki.selfhtml.org/wiki/HTML/Tutorials/Links/Verweise_auf_Mailadressen

        Bis demnächst
        Matthias

        --
        Pantoffeltierchen haben keine Hobbys.
        ¯\_(ツ)_/¯