Suche Email Skript.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Suche Email Skript.

    Moin,
    ich brauche ein einfaches Skript, vllt könnt ihr mir ja helfen.

    Ich will das Leute Ihre Email Adresse eingeben und das ihre Email Adresse in einer Datei oder am bessen das die an meine Email Adresse gesendet wird.


    Danke schonmal

  • #2
    Hallo,

    das klingt jetzt nicht besonders kompliziert. Wo klemmt es denn?

    Inwiefern bist du mit HTML und PHP vertraut? Weißt du über Formulare bescheid und wie man die mit PHP verarbeitet? Wenn nicht: Formulare mit PHP verarbeiten.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Also ich hab mal kurz langeweile gehabt.

      Ich denke sowas hast du gebraucht.

      Wenn du noch Fragen hast zu dem Quelltext, dann einfach stellen.

      Code:
      <?php
      
      if ($_POST["absenden"] == "Senden")  {
      
          $newEmail = $_POST["newEmail"];
          if (preg_match("/^[_a-zA-Z0-9-](\.{0,1}[_a-zA-Z0-9-])*@([a-zA-Z0-9-]{2,}\.){0,}[a-zA-Z0-9-]{2
              ,}(\.[a-zA-Z]{2,4}){1,2}$/", $newEmail)) {
              
              //Hier noch deine Mail einfügen
              $empfaenger = "deine@email.adresse";
              $betreff = "Neue Emailadresse zugesandt...";
              $from = "From: Server <email@email.com>";
              $text = "Es wurde die neue Emailadresse gesendet: $newEmail";
              
              mail($empfaenger, $betreff, $text, $from);
              
              echo "Ihre Emailadresse wurde erfolgreich &uuml;bertragen.";
          } else {
              echo "Sie haben keine g&uuml;ltige Emailadresse eingegeben!";
          }
          
      }
      ?>
      <html>
      <head>
      <title>Emailformular</title>
      </head>
      <body>
      
      <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
      
      <input type="text" value="adresse@domain.com" maxlength="50" name="newEmail" />
      
      <input type="submit" name="absenden" value="Senden"/>
      
      </form>
      
      </body></html>
      Zuletzt geändert von reeky; 19.02.2010, 17:30.

      Kommentar


      • #4
        Danke für eure schnellen Antworten.

        Hab es erst selber ausprobiert und so:
        einladund.html
        HTML-Code:
        <form action="email.php" method="POST">
        <pre>
        Email:  <input type="TEXT" name="newEmail"> <br>
        <input type="Submit" value="Abschicken">
        <input type="Reset" value="Zurücksetzen">
        </pre>
        und email.php
        PHP-Code:
        <?php

        $absender
        =$_POST["email"];
        $empfaenger"nedu@gmail.com";
        $betreff"Test";
        $nachricht=$_POST["email"];
        $sender="Fritz";

        mail ($empfaenger$betreff$nachricht,  
        "From: $sender <$absender>");
        ?>
        Dann kommt diese Fehlermeldung:
        "Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\email.php on line 10"

        und bei deinem Vorschlag kommt:
        "Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\emailzwei.php on line 13
        Ihre Emailadresse wurde erfolgreich übertragen. "
        Zuletzt geändert von SuperGoody; 08.06.2011, 16:49.

        Kommentar


        • #5
          Die Fehlermeldung sagt es doch: Du musst deine php.ini anpassen, wenn du auf Windows arbeitest. Darin sind nochmal Kommentarzeilen, die dir weiterhelfen. Das schaffst du schon. Bitte Fehlermeldungen auch lesen und befolgen.

          Gruß,

          Amica
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            Ja...aber ich weiss nicht was.

            Hab jetzt Script von reeky auf ein Web server hochgeladen. (kilu.de) und jetzt die Meldung nicht mehr...aber eine email hab ichnicht bekommen!

            Kommentar


            • #7
              Ja...aber ich weiss nicht was.

              Hab jetzt Script von reeky auf ein Web server hochgeladen. (kilu.de) und jetzt die Meldung nicht mehr...aber eine email hab ichnicht bekommen!
              Also wenn du das auf einen server bei dir aufm rechner getestest hast und du dort windows drauf hast, dann funktioniert das nicht und die fehlermeldung müsste normal sein.

              Jetzt aufm server kann es sein, dass dein provider besondere einstellungen verwendet und du diese erst im script anpassen musst (port, usw.).
              Kannst du auf deinem Webserver die php.ini verändern oder irgendwie die Anzeige der php Fehlermeldungen ändern?

              Hier hab ich ne anleitung gefunden, wie die php.ini aussehen muss, falls du zugriff hast: PHP-Artikel: E-Mails versenden mit PHP - HTMLWorld

              Ich hab gerade nochmal in dem forum von deinem provider nachgelesen. Scheinbar geht das versenden mit über den ihre server nicht so einfach.
              ABER : ein benutzer hat ein script geschrieben, mit dem das versenden dennoch möglich sein soll.
              Ich kann leider keine garantie oder erklärung geben, ich stell einfach mal das script hier rein. Ich hoffe du kommst damit klar.
              Code:
              <?php
              //  *****************************************************
              //  smtp mail Funktion for kilu user, by das Ass http://dasass.kilu.de/smtp.txt
              //  *****************************************************
              $name  = "Absendername"; // optional
              $email = "Absender Mail-Adresse";
              $smtphost  = 'mail.gmx.net'; 
              $smtpuser = 'Kundennummer'; 
              $smtppass =  'Passwort'; 
              $mailfrom = 'eigene Mail-Adresse';
              
              if(strtoupper(substr(PHP_OS,0,3)=='WIN'))  {  
              $eol="\r\n";  
              } 
              elseif  (strtoupper(substr(PHP_OS,0,3)=='MAC')) {  
              $eol="\r";  
              } 
              else  {  
              $eol="\n";  
              }
              
              function mailserverparse( $socket,  $response ) {
              $server_response = null;
                while( substr(  $server_response, 3, 1 ) != ' ' ) 
                  if( !( $server_response =  fgets( $socket, 256 ) ) )
                    trigger_error(  'can not get mail  server response codes' );
                  if( !( substr( $server_response, 0, 3 )  == $response ) )
                    trigger_error( 'ran into problems sending  mail. response: '.$server_response );
              return true;
              }
              
              function  sendmail( $to, $subject, $message, $headers ) {
                  global  $smtphost, $smtpuser, $smtppass, $mailfrom, $eol; 
                      
                       if( !$socket = @fsockopen( $smtphost, 25, $errno, $errstr, 20 ) )
                           trigger_error( "Could not connect to smtp host:  {$errno}:{$errstr}" );
                      
                      if( trim( $subject ) ==  null )
                          trigger_error( 'no email Subject specified' );
                       
                      $message = preg_replace( "#(?<!\r)\n#si", "\r\n",  $message );
                      if( trim( $message ) == null )
                           trigger_error( 'message was blank' );
                      
                      if(  !preg_match( '#^from:#i', $headers ) && empty( $mailfrom ) )
                           trigger_error( 'no FROM header set' );
                      
                       mailserverparse( $socket, '220' );
                      fputs( $socket, "HELO  ".$smtphost.$eol );
                      mailserverparse( $socket, '250' );
                       
                      if( !empty( $smtpuser ) && !empty( $smtppass ) )  { 
                          fputs( $socket, "AUTH LOGIN".$eol );
                           mailserverparse($socket, '334' );
                          fputs( $socket,  base64_encode( $smtpuser ).$eol );
                           mailserverparse($socket, '334' );
                          fputs( $socket,  base64_encode( $smtppass ).$eol );
                          mailserverparse(  $socket, '235' );
                      }
                      
                      if( $headers !=  null ) {
                          $headers = rtrim( $headers );
                           $headers = preg_replace( '#(?<!\r)\n#si', $eol, $headers );
                           $header_array = explode( $eol, $headers );
                          $headers =  null;
                          $cc = null;
                          $bcc = null;
                           foreach( $header_array as $header ) {
                              if (  preg_match( '#^cc:#si', $header ) )
                                  $cc =  preg_replace('#^cc:(.*)#si', '\1', $header);
                              elseif(  preg_match( '#^bcc:#si', $header ) ) {
                                  $bcc =  preg_replace('#^bcc:(.*)#si', '\1', $header);
                                   $header = null;
                              }
                              $headers .= (  $header != null )?$header.$eol:null;
                          }
                           $headers = rtrim( $headers );
                          $cc = explode( ', ', $cc );
                           $bcc = explode( ', ', $bcc );
                      }
                      
                       fputs( $socket, "MAIL FROM: <".$mailfrom.">".$eol );
                       mailserverparse( $socket, '250' );
                      
                      $to =  empty( $to )?'Undisclosed-recipients:;':trim( $to );
                      if(  preg_match( '#[^ ]+\@[^ ]+#', $to ) ) {
                          fputs( $socket,  "RCPT TO: ".$to.$eol );
                          mailserverparse( $socket, '250'  );
                      }
                      if( is_array( $bcc ) )
                           foreach( $bcc as $address ) {
                              $address = trim(  $address );
                              if( preg_match( '#[^ ]+\@[^ ]+#',  $address ) ) {
                                  fputs( $socket, "RCPT TO:  ".$address.$eol );
                                  mailserverparse( $socket,  '250' );
                              }
                          }
                      if( is_array(  $cc ) )
                          foreach( $cc as $address ) {
                               $address = trim( $address );
                              if( preg_match( '#[^  ]+\@[^ ]+#', $address ) ) {
                                  fputs( $socket, "RCPT  TO: ".$address.$eol );
                                  mailserverparse( $socket,  '250' );
                              }
                          }
                      
                       fputs( $socket, "DATA".$eol );
                      mailserverparse( $socket,  '354' );
                      
                      fputs( $socket, "Subject:  ".$subject.$eol );
                      fputs( $socket, "To: ".$to.$eol );
                       fputs( $socket, $headers.$eol.$eol );
                      fputs( $socket,  $message.$eol );
                      fputs( $socket, ".".$eol );
                      
                       mailserverparse( $socket, '250' );
                      
                      fputs(  $socket, "QUIT".$eol );
                      fclose( $socket );
                      
              return  true;
              }
              
              
              // Funktionsaufruf zum Senden
                   $headers  ="From: ".(($name)?$name:"Absender")." <".$email.">".$eol;
                    sendmail( $mailfrom, $subject, $comment, $headers );
              ?>
              Zuletzt geändert von reeky; 19.02.2010, 17:35.

              Kommentar


              • #8
                Danke für deine Bemühungen
                Mir ist aber nicht so klar was ich angeben muss ?!
                Der Smtp host von Hotmail ist doch "pop3.live.com", bin mir da nicht so sicher.
                PHP-Code:
                $name  "Absendername"// optional
                $email "Absender Mail-Adresse";
                $smtphost  'mail.gmx.net'
                $smtpuser 'Kundennummer'
                $smtppass =  'Passwort'
                $mailfrom 'eigene Mail-Adresse'
                Bisher hat das Script nur mein FireFox zum absturz gebracht
                Zuletzt geändert von SuperGoody; 17.02.2010, 20:43.

                Kommentar


                • #9
                  Wenn kilu.de kein eigenes sendmail anbietet, solltest du vielleicht einfach einen anderen Provider nehmen, denn normalerweise geht es auf praktisch jedem gängigen PHP-Webspace einfach mit mail().

                  Gruß,

                  Amica
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    So es hat geklappt, es lag an dem Webhoster

                    Jetzt hab ich das nächste problem. Hab jetzt eine Seite mit Html und CSS gemacht und ich bekomm die Ausgabe nicht hin. Ganz oben steht immer ein Teil von PHP Script
                    PHP-Code:
                    ";         $text = "Es wurde die neue Emailadresse gesendet$newEmail";          
                    mail(
                    $empfaenger$betreff$text$from);          
                    echo "
                    Ihre Emailadresse wurde erfolgreich übertragen.";    
                     } else {         echo "
                    Sie haben keine gültige Emailadresse eingegeben!";    
                     }  } ?> 
                    und wenn ich versuche was zu los zu schicken kommt eine Fehlermeldung (Objekt nicht gefunden).

                    Weiss einer wo es erklärt wird, wie man PHP in die Hompage einbindet. Bin mir nicht so sicher mit dem CSS

                    Vielen dank für die ganzen Antworten
                    Zuletzt geändert von SuperGoody; 19.02.2010, 09:13.

                    Kommentar


                    • #11
                      Hallo,

                      wo siehst du dir diese Seite denn jetzt an? Etwa lokal im Browser, ohne Server dazwischen?

                      Gruß,

                      Amica
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12
                        Zitat von AmicaNoctis Beitrag anzeigen
                        Hallo,

                        wo siehst du dir diese Seite denn jetzt an? Etwa lokal im Browser, ohne Server dazwischen?

                        Gruß,

                        Amica
                        Im Lokalen Netz und auf einem Server und bei beiden das selbe.
                        Nur das im Lokalen Netz die Fehlermeldung "Zugriff verweigert" steht, wenn ich auf Senden klicke.

                        Kommentar


                        • #13
                          Zitat von SuperGoody Beitrag anzeigen
                          Im Lokalen Netz und auf einem Server und bei beiden das selbe.
                          Dann läuft auf dem Server kein PHP oder du benutzt eine falsche Dateinamenserweiterung.
                          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                          Super, danke!
                          [/COLOR]

                          Kommentar


                          • #14
                            Wenn ich das PHP Script so auf den Server laufen lasse, geht es ja. Also muss ja PHP an sein.

                            Kommentar


                            • #15
                              Oder der Webserver darf die Datei nicht lesen/ausführen.

                              Kommentar

                              Lädt...
                              X