x-plosiv: Frage zur mail() Funktion

Hallo zusammen

Ich habe ein Projekt auf einem normalen Hosting, die Mails laufen aber über einen komplett anderen Server eines anderen Anbieters. Jetzt wollte ich ein Kontaktformular mittels der PHP Funktion mail() realisieren. Doch die Mails kommen nie an. Am Script kann es eigentlich nicht liegen. Also habe ich beim Hosting Provider nachgefragt und der meinte, da die Mails nicht über das Webhosting laufen, würde auch die Mail Funktion nicht funktionieren. Kann das wirklich sein? Falls ja, was für eine Alternative habe ich, bzw. wie kann ich ein Kontaktforumular ohne mail() realisieren.

Besten Dank für eure Hilfe.

Gruss

Andy

  1. Hallo!

    Am Script kann es eigentlich nicht liegen.

    Woher weißt Du das?

    Also habe ich beim Hosting Provider nachgefragt und der meinte, da die Mails nicht über das Webhosting laufen, würde auch die Mail Funktion nicht funktionieren.

    Seit wann 'laufen' Mails über das Webhosting? Das sind zwei grundverschiedene Angelegenheiten!

    Ciao

    GG

    --
    "If I do not seek to understand what is happening here
    - then I've got peanuts in my head!"
    (I. Hosein)
    1. Am Script kann es eigentlich nicht liegen.

      Woher weißt Du das?

      ich verdende das script öfters. zudem habe ich eine einfach Test Seite eingerichtet, welche funktionieren muss.

      <?php
      $name = "andy";
      $absender = "xy@abc.ch";
      mail("hansli@freesurf.ch", "Neue Nachricht fuer Sie!", "testnachricht testseite schweizer fenster", "From: $name <$absender>");
      ?>

      Seit wann 'laufen' Mails über das Webhosting? Das sind zwei grundverschiedene Angelegenheiten!

      da bin ich mir eben nicht ganz sicher. Aber wie gesagt hat das Webhosting den Webserver deaktiviert, da die Mails über einen anderen Anbieter laufen.

      1. Hallo!

        Seit wann 'laufen' Mails über das Webhosting? Das sind zwei grundverschiedene Angelegenheiten!

        da bin ich mir eben nicht ganz sicher. Aber wie gesagt hat das Webhosting den Webserver deaktiviert, da die Mails über einen anderen Anbieter laufen.

        Falls 'das Webhosting den Webserver deaktiviert', liefert der HTTP-Server keine Antworten mehr - ein Zusammenhang zu einem Mail-Server besteht dabei nicht.

        Ciao

        GG

        --
        "If I do not seek to understand what is happening here
        - then I've got peanuts in my head!"
        (I. Hosein)
        1. Wenn ich das richtig verstehe, müsste die mail() Funktion dennoch funktionieren?

          An was könnte es denn sonst liegen? Hast du noch eine Idee?

          1. Hallo!

            Wenn ich das richtig verstehe, müsste die mail() Funktion dennoch funktionieren?

            Wenn der Webhoster seinen Server so eingerichtet hat: ja.
            Sollte dieser das Versenden von Mails mittels mail() nicht erlauben, dann nicht.

            Ciao

            GG

            --
            "If I do not seek to understand what is happening here
            - then I've got peanuts in my head!"
            (I. Hosein)
          2. Wenn ich das richtig verstehe, müsste die mail() Funktion dennoch funktionieren?

            Nicht wenn dein Webhoster die Absenderadresse nicht kennt.

            Ich hatte mal sowas hier am laufen. Damit meldest du dich bei einem Mailserver deiner Wahl an (so wie dein Mailprogramm es auch macht) und verschickst über ihn die Mail. Vielleicht hilfts dir ja.

            function SendMail($to, $subject, $body)
            {
              $headers = array ('From' => "DeinName <deineMailadresse@...>", 'To' => $to, 'Subject' => $subject);
              $smtp = Mail::factory('smtp', array (
                'host' => "deinmailserver...",
                'auth' => true,
                'username' => "deinusername",
                'password' => "deinpasswort"));

            $mail = $smtp->send($to, $headers, $body);

            return (!PEAR::isError($mail));
            }

            1. Vielen Dank für deinen Tip. Werde es gleich testen, Danke

  2. habe d'ehre

    Denk mal genauer darüber nach, wieso dies nicht funktionieren darf. Und die Betonung liegt dabei auf "darf".

    Gruß

    1. Hallo!

      Denk mal genauer darüber nach, wieso dies nicht funktionieren darf. Und die Betonung liegt dabei auf "darf".

      Kläre uns doch bitte auf!

      Ciao

      GG

      --
      "If I do not seek to understand what is happening here
      - then I've got peanuts in my head!"
      (I. Hosein)
      1. Kläre uns doch bitte auf!

        Warum sollte ein Server via mail() Mails mit fremden Adressen versenden können/dürfen? Für SPAM wäre das ein Scheunentor ohnegleichen. Du würdest Dich sicherlich freuen, wenn ich von meinem Server täglich ein paar Tausend Mails mit Deiner Adresse verschicke und Du dann auf einer Blacklist landest, oder?

    2. [latex]Mae  govannen![/latex]

      Denk mal genauer darüber nach, wieso dies nicht funktionieren darf. Und die Betonung liegt dabei auf "darf".

      Jein - auf meinem Server darf ich jede Adresse nutzen, die Einschränkung liegt dann aber darin, daß der 5.Parameter von mail() [$additional_parameters] einen Eintrag mit meiner Adresse beim Hoster enthalten muß. Ist dieser nicht gesetzt, wird die mail nicht gesendet. Vielleicht ist es auch hier der Fall

      Cü,

      Kai

      --
      Even if you are a master of jQuery, you can only create mediocre (at best)
      scripts. The problem is that the authors you rely on have not mastered the
      DOM themselves. It's like one blind guy leading another off a cliff (D.Mark/clj)
      Foren-Stylesheet Site Selfzeug JS-Lookup
      SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
  3. Hallo zusammen

    Ich habe ein Projekt auf einem normalen Hosting, die Mails laufen aber über einen komplett anderen Server eines anderen Anbieters. Jetzt wollte ich ein Kontaktformular mittels der PHP Funktion mail() realisieren. Doch die Mails kommen nie an. Am Script kann es eigentlich nicht liegen. Also habe ich beim Hosting Provider nachgefragt und der meinte, da die Mails nicht über das Webhosting laufen, würde auch die Mail Funktion nicht funktionieren. Kann das wirklich sein? Falls ja, was für eine Alternative habe ich, bzw. wie kann ich ein Kontaktforumular ohne mail() realisieren.

    Besten Dank für eure Hilfe.

    Gruss

    Andy

    Hi Andy,

    habe gerade das unten stehende Programm zum versenden getestet
    (mit anderer Empf. Adr). Es läuft. Lass das Prog. einfach auf
    deinem Server laufen und du weist auf anhieb, ob das Mailen
    generell funktioniert oder nicht (Fehler können ja auch in
    deinem Formular liegen ....).

    Gruss, Geggi

    <?php
      $E_Mail_Adr = "hansli@freesurf.ch";
      $Betreff = "Nur ein Test";

    $mail_text  = "Sehr geehrte ...\n";
      $mail_text .= "\n";
      $mail_text .= "vielen Dank für\n";

    // HTML-Code aus String entfernen (bzw. umwandeln).
      $mail_text = htmlspecialchars($mail_text);

    // Lange Zeilen umbrechen
      $mail_text = wordwrap($mail_text, 75, "\n", FALSE);

    // Mail Header fuer richtige Umlaut-Anzeige basteln
      $additional_headers  = "Content-Type: text/plain; charset=UTF-8\r\n";
      $additional_headers .= "Content-Transfer-Encoding: 8bit\r\n";

    mail($E_Mail_Adr, $Betreff, $mail_text, $additional_headers);
    ?>