kostenloser Webspace werbefrei: lima-city


Ip Adresse anzeigenlassen bei Supportmail

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    schinkenmedia

    Kostenloser Webspace von schinkenmedia

    schinkenmedia hat kostenlosen Webspace.

    Heyho Leute,

    Ich habe versucht, bei meinem support die Emails zu überprüfen, also wenn jemand mich anschreibt und eine Email Adresse angibt, dass diese auf existenz geprüft wird. Geht das überhaupt?

    Und noch eine Frage:
    Ich würde gerne mit php eine IP-Anzeige aufbauen, also dass die Ip von dem Support Nutzer mit der Mail zu mir gesendet wird.
    Mein Support sieht momentan so aus: (PHP und Html)

    <?php
    $von = $_POST['von']; 
    $email = $_POST['email']; 
    $betreff = $_POST['betreff']; 
    $nachricht = $_POST['nachricht']; 
    $fertig = $_POST['fertig']; 
    
    function checkEmail( $email ) 
    { 
        $nonascii      = "\x80-\xff";     
        $nqtext        = "[^\\\\$nonascii\015\012\"]"; 
        $qchar         = "\\\\[^$nonascii]"; 
        $normuser      = '[a-zA-Z0-9][a-zA-Z0-9_.-]*'; 
        $quotedstring  = "\"(?:$nqtext|$qchar)+\""; 
        $user_part     = "(?:$normuser|$quotedstring)"; 
        $dom_mainpart  = '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.'; 
        $dom_subpart   = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*'; 
        $dom_tldpart   = '[a-zA-Z]{2,5}'; 
        $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart"; 
        $pattern       = "$user_part\@$domain_part"; 
         
        if (!preg_match( "/$pattern$/", $email )) 
        { 
            return FALSE; 
        } 
        else 
        { 
            return TRUE; 
        } 
    }  
    
    if(isset($fertig)){ 
    
      if ($von == "") { 
       echo"<script type=\"text/javascript\"> alert(\"Sie haben ihren Namen nicht angegeben!\");</script>"; 
      } elseif ($email == "") { 
        echo"<script type=\"text/javascript\"> alert(\"Sie haben ihre Email nicht angegeben!\");</script>"; 
      } elseif ($betreff == "") { 
        echo"<script type=\"text/javascript\"> alert(\"Sie haben keinen Betreff angegeben!\");</script>"; 
      } elseif ($nachricht == "") { 
        echo"<script type=\"text/javascript\"> alert(\"Sie haben keine Nachricht angegeben!\");</script>";     
      } elseif (!checkEmail( $_REQUEST['email'] )) { 
        echo"<script type=\"text/javascript\"> alert(\"Die Email Adresse ist nicht gueltig!\");</script>"; 
      } else { 
       
       
    
    
    $datum = date("d.m.Y"); 
      $uhrzeit = date("H:i"); 
      $datum=$datum ."-". $uhrzeit ."Uhr"; 
       
    
         
        $ich = "info@schinkenmedia.de"; 
      $betreffemail = "Kontaktformular"; 
      $text = "Sie haben eine Nachricht von:".$von." 
      Seine Email Adresse lautet:".$email." 
      Der Betreff lautet:".$betreff." 
      Das Sendedatum:".$datum." 
      Die Nachrich lautet:".$nachricht." 
       
    
       
      "; 
      mail($ich, $betreffemail, $text,  
      "From: Absender <Absenderemail>"); 
      echo"Mail verschickt <br>"; 
       
    echo"<script type=\"text/javascript\"> alert(\"Die Nachricht wurde erfolgreich verschickt!\");</script>";         
    
    
    
    } 
    } 
    ?>


    Würde mich über Antworten freuen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Man kann letztendlich nicht prüfen, ob das E-Mail-Postfach wirklich existiert, ohne eine Test-E-Mail zu senden. Das Auswerten des Resultats kann dann begrenzt Klarheit bringen. Aber eben nur begrenzt. Das Ergebnis wird trotzdem falsch sein. Verfügt der Server über ein Catch-All-Postfach, wird die Sache noch problematischer. Die einzige wahre Lösung ist das Senden einer Bestätigungs-E-Mail, die ja sowieso nicht schlimmer, als eine Test-E-Mail ist.

    Die IP des Users bekommst du in $_SERVER['REMOTE_ADDR'] geliefert.
  4. m******e

    schinkenmedia schrieb:
    Ich würde gerne mit php eine IP-Anzeige aufbauen, also dass die Ip von dem Support Nutzer mit der Mail zu mir gesendet wird.


    Füge mal nach der Zeile $datum=$datum ."-". $uhrzeit ."Uhr";

    folgendes ein:

    // User-Agent (Browser?)
    $nachricht .= "\n\nUser-Agent:\n".$_SERVER["HTTP_USER_AGENT"];

    $host= gethostbyaddr($_SERVER['REMOTE_ADDR']);
    $hostbyname= gethostbyname($host);

    // IP & Provider
    $nachricht .= "\nIP & Provider:\n".$hostbyname." : ".$host;

    Dann haste noch mehr Angaben. ;)
  5. was du testen kannst, ist der form der angabe (regex) und ob es den mailserver tatsächlich gibt. den rest - wie vorhin schon gesagt - kannst ohne hilfe von dritten nicht in erfahrung bringen.

    zwei gute adressen zum thema:
    1. auf einer seite verpackt
    2. 6 seiten lang mit viel diskussionsmaterial dazu!

    lg
  6. Hier mal eine Funktion für dich, die so gut wie möglich prüft, ob die Mailadresse korrekt ist und ob der Mailserver existiert:

    function checkEmailAddress($email) {
    	$isValid = true;
    	$atIndex = strrpos($email, "@");
    	
    	if (is_bool($atIndex) && !$atIndex) {
    		$isValid = false;
    	}
    	else {
    		$domain = substr($email, $atIndex+1);
    		$local = substr($email, 0, $atIndex);
    		$localLen = strlen($local);
    		$domainLen = strlen($domain);
    		if ($localLen < 1 || $localLen > 64) {
    			$isValid = false;
    		}
    		elseif ($domainLen < 1 || $domainLen > 255)
    		{
    			$isValid = false;
    		}
    		elseif ($local[0] == '.' || $local[$localLen-1] == '.') {
    			$isValid = false;
    		}
    		elseif (preg_match('/\\.\\./', $local)) {
    			$isValid = false;
    		}
    		elseif (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)) {
    			$isValid = false;
    		}
    		elseif (preg_match('/\\.\\./', $domain)) {
    			$isValid = false;
    		}
    		elseif(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', str_replace("\\\\","",$local))) {
    			if (!preg_match('/^"(\\\\"|[^"])+"$/', str_replace("\\\\","",$local))) {
    				$isValid = false;
    			}
    		}
    		if ($isValid && !(@checkdnsrr($domain,"MX") || @checkdnsrr($domain,"A"))) {
    			$isValid = false;
    		}
    	}
    	return $isValid;
    }


    Mehr geht, wie hemiolos bereits sagte, nicht.
  7. Autor dieses Themas

    schinkenmedia

    Kostenloser Webspace von schinkenmedia

    schinkenmedia hat kostenlosen Webspace.

    Ok, danke euch :biggrin:

    Aber viel einfacher finde ich ist die Lösung, einfach die Email zu hinterlassen, ich meine, wenn sich jemand damit abei na Abofalle anmelden möchte klicke ich halt nicht auf den Bestätigungslink. Der Vorteil:
    Derjenige muss zwangsweise über eine Email verfügen, sonst kann er mir ja keine schicken :)
  8. schinkenmedia schrieb:
    Derjenige muss zwangsweise über eine Email verfügen, sonst kann er mir ja keine schicken :)

    ja. allerdings: wenn man dem was man sieht auch glubt, dann ist die sonne eine einfache gelbe scheibe. und sonst nix ;o)

    lg
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!