rap: Mailversand

Hallo,

ich habe bei einem kostenlosen Webhoster eine Webseite online gestellt. Bei der Anmeldung auf meiner Seite soll eine E-Mail mit dem Passwort versendet werden. Leider funktioniert der Mailversand über diesen Webhoster nicht richtig...

Deshalb möchte ich das Script zum Mailversand auf einen anderen Webhoster auslagern. Aber möglichst so, dass der Benutzer nicht merkt, dass dies über eine andere Seite geschieht... Aber der Benutzer sieht ja nun eine Andere Adresse in der Adressleiste...

(Das Script das das Mail versendet gibt auch gleich aus, on die Registrierung erfolgreich war)

Hat jemand Tipps für mich, damit es ohnen große Zeitverzögerung möglich ist, die E-Mail zu versenden und dem Benutzer die Meldung anzuzeigen, ohne dass der Benutzer etwas von der Umleitung merkt?

(Einige wollen mir vielleicht den Tipp geben, dass ich meine komplette Webseite zu dem Webhoster verlagern soll, bei dem der Mailversand funktioniert, aber dies kommt für mich aus verschiedenen Gründen nicht in Frage, z. B. weil der eine Webhoster Werbefrei ist...)

  1. Hi,

    da fällt mir spontan nur ein, deine Seite in ein Frameset zu packen, mit nur einem Frame. Aber dadurch steht in der Adressleiste immer die Adresse des Framesets.

    Natürlich ändert sich die Adresse auch dann nicht, wenn man auf deiner Seite navigiert.

    Aber vielleicht können wir dir auch helfen, wenn du uns sagst, was an der mail() Funktion nicht richtig funktioniert.

    Gruß!

    1. Hallo Rap,

      da fällt mir spontan nur ein, deine Seite in ein Frameset zu packen, mit nur einem Frame. Aber dadurch steht in der Adressleiste immer die Adresse des Framesets.

      so muss es gar nicht laufen. Selbst wenn die formularverarbeitende Logik auf einer anderen Domain liegt, sind Frames nicht notwendig:

      Host A:
      <form action="host.B"/>

      Host B:

      [link:http://de3.php.net/manual/de/function.header.php@title=header]($_SERVER['SERVER_PROTOCOL'].' 303 See Other');  
      [link:http://de3.php.net/manual/de/language.control-structures.php#control-structures.if@title=if](validiere_post_daten($_POST)){  
              verarbeite_post_daten($_POST);  
              header('Location: http://Host.A/erfolgreich.html');  
      }  
      else    header('Location: http://Host.A/sing_it_again.html');
      

      Dabei wird ausgenutzt, das Die Weiterleitung auf HTTP-Ebene sehr schnell abgearbeitet wird.

      Gruß aus Berlin!
      eddi

      --
      Der Verweis auf die Grundlagen Deines Handelns, ist das Joch zur Freiheit.
      Aber so gilt: Allen Leuten Recht getan, ist keine Kunst, weil's jeder kann.
      1. Host A:
        <form action="host.B"/>

        Host B:

        [link:http://de3.php.net/manual/de/function.header.php@title=header]($_SERVER['SERVER_PROTOCOL'].' 303 See Other');

        link:http://de3.php.net/manual/de/language.control-structures.php#control-structures.if@title=if{
                verarbeite_post_daten($_POST);
                header('Location: http://Host.A/erfolgreich.html');
        }
        else    header('Location: http://Host.A/sing_it_again.html');

          
        Vielen Dank für die Antwort!  
        Hört sich gut an, aber geht das auch mit SESSION Daten?  
        Wenn nicht, dann müsste ich einiges umschreiben...  
          
        MFG  
          
        Rap
        
        1. Re:

          Hört sich gut an, aber geht das auch mit SESSION Daten?

          Ja. An einem konkreten Beispiel von Dir kann ich es Dir erklären.

  2. Hallo,

    Leider funktioniert der Mailversand über diesen Webhoster nicht richtig...

    Soll heissen?

    a) Mails konmmen nich an
    b) Mails kommen teilweise an?
    c) Mails werden aufgehalten?
    d) ankommende Mails sind als Spam bezeichnet?

    mfg Beat

    --
    Selber klauen ist schöner!
    1. Hallo,

      Leider funktioniert der Mailversand über diesen Webhoster nicht richtig...

      Soll heissen?

      a) Mails konmmen nich an
      b) Mails kommen teilweise an?
      c) Mails werden aufgehalten?
      d) ankommende Mails sind als Spam bezeichnet?

      mfg Beat

      Soll heisen b. Die Mails kommen nur bei web.de an. (Ich habe mich bei dem bei dem Webhoster auch mit einer web.de Adresse registrier...)

  3. Hallo

    Also ich hatte mal ein Problem auf dem eigenen Server mit der Umlautcodierung und das führte dazu, dass der eigene Server-Befehl mail(...) nicht genutzt werden konnte.

    Das Problem habe ich dann auf folgende Art gelöst

    a) Ich habe ein php-script geschrieben mail.php, dass genau den Mailbefehl aufruft und die übergebenen parameter eindröselt. Also aus dem Server-Mail ein php-Mail-Script gemacht.

    b) Wenn man so ein Script auf einem fremden Server platziert und das jemand anders mitbekommt, dann hat man ein Problem. Es gibt dann die Schwierigkeit, dass jeder über dieses Script spammen kann - er braucht es ja nur aufrufen.

    c) Deshalb hört das Script nur auf einen bestimmte IP. Das ist zwar auch grundsätzlich bei bestimmten Angriffen gefährdet aber eigentlich nur dann, wenn man den ganzen Aufbau in einer E-Mail beschreibt und auf einem russischen Warezserver veröffentlicht.

    d) Vergiss aber nicht das Script wieder zu löschen oder löschen zu lassen wenn du es nicht mehr brauchst. Auf einem Server gehört grundsätzlich nichts ausführbares, dass nicht in Betrieb ist.

    Herzliche Grüße
    Wolfgang

    1. Hallo Wolfgang,

      b) Wenn man so ein Script auf einem fremden Server platziert und das jemand anders mitbekommt, dann hat man ein Problem. Es gibt dann die Schwierigkeit, dass jeder über dieses Script spammen kann - er braucht es ja nur aufrufen.

      Aber wenn das Script dazu dient um sich auf einer Seite zu registrieren, dann  hab ich ja keie andere Möglichkeit, da ist doch immer die "Spam-Gefahr"?!

      c) Deshalb hört das Script nur auf einen bestimmte IP. Das ist zwar auch grundsätzlich bei bestimmten Angriffen gefährdet aber eigentlich nur dann, wenn man den ganzen Aufbau in einer E-Mail beschreibt und auf einem russischen Warezserver veröffentlicht.

      Wenn das Script nur auf eine IP hört, dann kann sich ja niemand Registrieren? Oder hast du das anders gemeint? Und wie sag ich dem Script auf welche IP es hören soll?

      MFG

      1. Hallo Rap

        Also vorweg:
        a) Kannst du php oder kannst du es nicht?
        b) Kannst du es auf deinem eigenen Server einsetzen oder nicht?

        Wenn du beides mit nein beantwortest, dann geht das ohnehin nicht, was ich derzeit gesagt habe.

        Wenn du es kannst dann brauchst du auf deinem Server ein php-Script und auf dem server, der die Mail absendet eines.

        Aber wenn das Script dazu dient um sich auf einer Seite zu registrieren, dann  hab ich ja keie andere Möglichkeit, da ist doch immer die "Spam-Gefahr"?!

        Wenn du über ein Formular eine Bestätigungsmail sendest, dann kann man eine Mail absetzen an *eine* Adresse mit einem vorgefertigten Inhalt, einem Bestätigungslink.

        Wenn das Script nur auf eine IP hört, dann kann sich ja niemand Registrieren? Oder hast du das anders gemeint? Und wie sag ich dem Script auf welche IP es hören soll?

        Ich spreche ich von dem Rechner auf dem der Mailserver läuft und wenn hier php die Mailschnittstelle transparent macht, dann kann jeder beliebig viele Mails mit beliebigem Inhalt senden.

        Das erste ist per Gesetz kein Spam. Es wäre Unfug, den Leuten Bestätigungsmails zu senden für eine Seite, die sie nicht kennen. Und das zweite nennt man per Gesetz ein "Open Relay" und das bedeutet Ärger^2 + Viele Admins mit hohem Blutdruck und so weiter.

        Herzliche Grüße
        Wolfgang