Danny: smtp-Server ermitteln

Guten Abend,
gibt es eine Möglichkeit, mit PHP den Namen des SMTP-Servers zu erhalten?

  1. Hallo,

    gibt es eine Möglichkeit, mit PHP den Namen des SMTP-Servers zu erhalten?

    welches SMTP-Servers? Es gibt unzählige davon!
    Da müsstest du schon etwas mehr Input liefern.
    Was hast du vor? Welchen Servernamen willst du wissen?

    Einen schönen Tag noch
     Martin

    --
    Мир для України.
    1. Hallo,
      ich meine den SMTP-Server, den ich benötige, um mails zu versenden, (ich möchte den im Thread von Gerhard vorgestellten Code testen). Ich möchte den SMTP-Servernamen nicht fest verdrahten, damit das Programm beim Providerwechsel unverändert eingesetzt werden kann. Kann auch der für den Versand nötigen Port ermittelt werden?

      1. Hallo Danny,

        ich meine den SMTP-Server, den ich benötige, um mails zu versenden

        nein, das ist nicht möglich. Im Gegenteil, den dafür zuständigen Hostnamen bekommst du von deinem e-Mail-Provider. Du kannst ja durchaus auch mehrere Mail-Accounts bei verschiedenen Providern haben. Welcher von denen soll es sein?

        (ich möchte den im Thread von Gerhard vorgestellten Code testen).

        Okay, aber mit welchem Server du das testen darfst, musst du dann selbst wissen.

        Ich möchte den SMTP-Servernamen nicht fest verdrahten, damit das Programm beim Providerwechsel unverändert eingesetzt werden kann.

        Dann lies den Hostnamen aus einer Konfigurationsdatei. Im einfachsten Fall könnte das eine PHP-Include-Datei sein, die nur diese Zeilen enthält:

        <?php
        $SMTPConfig =
         [ "hostname": "mail.example.org",
           "port" : 587,
           "useTLS": true
         ];
        

        Kann auch der für den Versand nötigen Port ermittelt werden?

        Nur durch Probieren, indem du die üblichen Verdächtigen der Reihe nach durchtestest, ob die Verbindung zustandekommt.

        Einen schönen Tag noch
         Martin

        --
        Мир для України.
        1. Hallo, nachdem ich über phpinfo() gerade zahlreiche für PHP zugängliche Variablen wie _SERVER["SERVER_PORT"], _SERVER["SERVER_NAME"] u.v.a. gefunden hatte, hatte ich die Hoffnung, dass es solche auch für meine Zwecke gibt.

          1. Hi,

            nachdem ich über phpinfo() gerade zahlreiche für PHP zugängliche Variablen wie _SERVER["SERVER_PORT"], _SERVER["SERVER_NAME"] u.v.a. gefunden hatte, hatte ich die Hoffnung, dass es solche auch für meine Zwecke gibt.

            ja, PHP "weiß" eine ganze Menge über den eigenen Host, auf dem es läuft. Eventuell auch über den Client-Host, der da gerade die Seite anfordert.

            Aber e-Mail hat technisch gesehen erstmal überhaupt keinen Zusammenhang mit einem Webserver. Das ist ein völlig anderer Dienst. Deshalb gibt es auch keine direkte Möglichkeit, diese Information zu bekommen.

            Einen schönen Tag noch
             Martin

            --
            Мир для України.
            1. OK,
              schade,
              trotzdem danke für die raschen Auskünfte.

  2. Hello,

    da guckst Du mal unter Host-Abfrage

    Unted Linux sollts Dir host <Domainname> die passende Antwort geben.

    Guten Abend,
    gibt es eine Möglichkeit, mit PHP den Namen des SMTP-Servers zu erhalten?

    Glück Auf
    Tom vom Berg

    --
    Es gibt nichts Gutes, außer man tut es!
    Das Leben selbst ist der Sinn.
    1. Halo Tom,

      da guckst Du mal unter Host-Abfrage

      Unted Linux sollts Dir host <Domainname> die passende Antwort geben.

      damit findest du möglicherweise heraus, an welchen SMTP-Server du die Mail zustellen musst, um direkt den Empfänger zu erreichen ("end to end"). Aber dann hast du wieder alle Probleme, die in Gerhards Thread schon angesprochen wurden.

      So findest du jedenfalls nicht heraus, wie der ein SMTP-Server heißt, über den du authentifiziert Mails versenden kannst.

      Einen schönen Tag noch
       Martin

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

    gibt es eine Möglichkeit, mit PHP den Namen des SMTP-Servers zu erhalten?

    Es geht doch um den SMTP-Server für eine bestimmte Absender-Adresse.

    Ich bin kein DNS-Spezialist, aber müßte man da nicht den MX-Record für die Domain der Absender-Adresse ermitteln können?

    (oder ist das dann nicht der smtp-Host? Wie gesagt, ich bin kein DNS-Auskenner)

    cu,
    Andreas a/k/a MudGuard

    1. Hallo Andreas,

      gibt es eine Möglichkeit, mit PHP den Namen des SMTP-Servers zu erhalten?

      Es geht doch um den SMTP-Server für eine bestimmte Absender-Adresse.

      ja, wenn man eine bestimmte Absenderadresse (oder wenigstens eine Absender-Domain) vorgibt, dann sieht es schon ganz anders aus. Das ist aber wieder eine Information, die der Betreiber einer Website zur Verfügung stellen muss, wenn er mit einem Script "den SMTP-Server" finden will.

      Ich bin kein DNS-Spezialist, aber müßte man da nicht den MX-Record für die Domain der Absender-Adresse ermitteln können?

      Ja.

      (oder ist das dann nicht der smtp-Host? Wie gesagt, ich bin kein DNS-Auskenner)

      Doch, das wäre derjenige welche (wobei: Es könnten mehrere eingetragen sein, dann muss man die Prioritäten auswerten oder willkürlich einen auswählen).
      Aber wie gesagt: Nur mit Vorbedingung. Die muss dem PHP-Script dann bekannt sein.

      Und selbst wenn: Dann weiß man immer noch nichts über die erforderlichen Verschlüsselungs-Einstellungen und den Port (okay, man kann einfach probieren), oder über die erforderlichen Login-Daten.

      All das muss man dann trotzdem noch wissen. Man kann natürlich auch einfach mail() aufrufen und hoffen, dass der Webhoster da einen funktionierenden Mailserver konfiguriert hat. Dann wären wir nach einer 360°-Runde wieder am Anfang. 😉

      Einen schönen Tag noch
       Martin

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