Warum kommt keine Mail an

fredolin

Erfahrenes Mitglied
Hallo Team,

ich hab da mal wieder was mit einem Mailformular. Hab schon hier gesehen, das es ien Menge dazu gibt. Da habe ich auch schon durchgeschaut. Doch leider hab ich in keinem von diesem irgentwie einen Anhaltspunkt bekommen, was in meinen Script falsch läuft.

So nun zum Script. Das Script gibt aus, wenn ich auf absenden klicke, das die Mail verschickt wurde. Ich habe zu erstmal an meinen eigenen Account geschickt. DOch da kam nie was an. Hab dann auch die Mailaddy geändert.. Gleiches Ergebnis.

So nun stehe ich wie der berühmte Ochs vorm Berg oder bin ich blind auf den Augen.
Hier mal der Code

PHP:
<?php
# Error Reporting #
error_reporting(E_ALL);
//ini_set("display_errors", 0); // alle Fehler anzeigen
//ini_set("error_log", 'J:\webserver\htdocs\error.log');
//ini_set("log_errors", 1);

   
    $IP = $_SERVER['REMOTE_ADDR'];
    $host = gethostbyaddr($IP);
    ## Datum ##
    $tstamp  = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
    $datum = date("d.m.Y", $tstamp);  // ISO-8601 Format


//print_r($_POST);
    $ready = 1;
    $error = array();
   
   
    if(isset($_POST['senden'])){
       
    if(empty($_POST['vname'])){
                $ready = 0;
                $error['vname'] = 'Dein Vorname fehlt!';
            }
       
            if(empty($_POST['nname'])){
                $ready = 0;
                $error['nname'] = 'Dein Nachname fehlt!';
            }
       
            if(!preg_match("/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-z]{2,6}$/i", $_POST['email'])){
                $ready = 0;
                $error['email'] = 'Gib deine E-Mailadresse richtig ein';
            }
           
            if(empty($_POST['subject'])){
                $ready = 0;
                $error['subject'] = 'Bitte Betreff angeben';
            }
       
            if(empty($_POST['messages'])){
                $ready = 0;
                $error['messages'] = 'Deine Nachricht fehlt!';
            }
   
}

if (isset($_POST['senden']) && $ready){

    //print_r($_POST);
   

    $monate=array("Januar","Februar","März","April","Mai","Juni","Juli","August", "September","Oktober","November","Dezember");
    $wochentage=array("Sonntag","Montag","Dienstag","Mittwoch", "Donnerstag","Freitag","Samstag");
    $monat=$monate[date("n")-1];
    $wochentag=$wochentage[date("w")];
    $datum=$wochentag.", ".date("j").". ".$monat." ".date("Y")."";
    $time = date("H:i:s");
   
    //$domain = "xxx";
    $domain = $_SERVER['HTTP_HOST'];

     $mailaddy = "xxx.sss@www.dd";
    //$mailaddy = "xxx@xxx.de";
   
    // E-MailForm was versendet wird    
    $mailbody = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                <link href="'.$domain.'/scripts/css/style.css" rel="stylesheet" type="text/css" />
                <title>E-Mail Formular von' .$domain. '</title>
                </head>
                <body>
                    <div id="box">
                        <h1 class="h1text">E-Mail gesendet von '.$_POST['vname'] . $_POST['nname']. '</h1>
                        <div class="clear"></div>
                        <div class="rubrik">
                            <strong>Deine Nachricht von '.$domain.'</strong><br />wurde <strong>erfolgreich</strong> mit den von Ihnen angegebenen Daten verschickt.
                            <hr />
                            <div class="text">Ihre IP: ' .$IP.'</div>
                            <div class="text">Veschickt über: ' .$host.'</div>
                            <div class="link">Sendedatum: ' .$datum.'</div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="text">Vorname: ' .$_POST['vname'].'</div>
                            <div class="test">Nachname: ' .$_POST['nname'].'</div>
                            <div class="clear"></div>
                            <div class="text">E-Mail: ' .$_POST['email'].'<div>
                            <div class="leer"></div>
                            <div class="clear"></div>
                            <div class="text">Betreff:&nbsp;<strong>'.$_POST['subject'].'</strong></div>
                            <div class="leer"></div>
                            <div class="cear"></div>
                            <div class="text">Ihre Nachricht:</div>
                            <div class="clear"></div>
                            <div class="text">'. $_POST['messages'] .'</div>
                            <div class="clear"></div>
                        </div>
                        <div class="clear"></div>
                        <div class="clear"></div>
                    </div>
                </body>
                </html>';
   
    /* zusätzliche Header */
     $header  = "From:".$_POST['vname'] . "  " . $_POST['nname']. "  <"   . $_POST['email'] .   ">\r\n";
     $header .= "MIME-Version: 1.0\r\n";
     $header .= "Content-type: text/html; charset=iso-8859-1\r\n";
     //$headers .= "From: http://www.tauchclub-triton.de\r\n";

/* Verschicken der Mail */
   
    $send = @mail($mailaddy, $_POST['subject'], $mailbody, $header);
       
    if($send){
        echo '
            <h2 class="h2text">Danke - Deine Mail wurde verschickt</h2>
            Ich freue mich schon darauf das zu lesen und werde mich dann umgehend melden.
        <div class="clear"></div>
        ';
        /*echo '<script language="JavaScript" type="text/javascript">self.location.href="index.html"</script>';
        header("Location: danke.php");
        exit;*/
    } else {
        echo '
        <h2 class="h2text" style="border: 2px solid #ff0000; background-color: #ddd;color: #A6A6A6;">Leider wurde Deine Mail nicht versendet<br>Probierst noch mal. Danke</h2>
        <div class="clear"></div>';
    }
}

if(!isset($send)){   
echo '
        <form action="'.$_SERVER['PHP_SELF'].'" method="post">
            <h2 class="h2text">Hier kannst Du mir schreiben</h2>
            <div class="clear"></div>
            <div class="td_links">Vorname*</div>
            <div class="td_rechts"><input class="inptext" type="text" name="vname" value="';
            if(isset($_POST['vname'])){
                echo $_POST['vname']; }
                echo'" tabindex="10" />';
            if(isset($error['vname'])){
                echo'<br /><span class="formerror">'.$error['vname'].'</span>';
                }
                echo' </div>
            <div class="leer"></div>
            <div class="td_links">Nachname*</div>
            <div class="td_rechts"><input class="inptext" type="text" name="nname" value="';
            if(isset($_POST['nname'])){
                echo $_POST['nname'];}
                echo '" tabindex="20" />';
            if(isset($error['nname'])){
                echo'<br /><span class="formerror">'.$error['nname'].'</span>';
                }
                echo'</div>
            <div class="leer"></div>
            <div class="td_links">E-Mail Adresse*</div>
            <div class="td_rechts"><input class="inptext" type="text" name="email" value="';
            if(isset($_POST['email'])){
                echo $_POST['email'];}
                echo '" tabindex="30" />';
            if(isset($error['email'])){
                echo'<br /><span class="formerror">'.$error['email'].'</span>';
                }
                echo' </div>
            <div class="leer"></div>
            <div class="td_links">Betreff*</div>
            <div class="td_rechts"><input class="inptext" type="text" name="subject" value="';
            if(isset($_POST['subject'])){
                echo $_POST['subject'];}
                echo '" tabindex="40" />';
            if(isset($error['subject'])){
                echo'<br /><span class="formerror">'.$error['subject'].'</span>';
                }
                echo' </div>
            <div class="leer"></div>
            <div class="td_links">Nachricht*</div>
            <div class="td_rechts"><textarea class="textarea" name="messages" warp="warp" tabindex="50">';
            if(isset($_POST['messages'])){
                echo $_POST['messages'];}
                echo '</textarea>';
            if(isset($error['messages'])){
                echo'<br /><span class="formerror">'.$error['messages'].'</span>';
                }
                echo'</div>
            <div class="leer"></div>
            <div class="td_links">Mail abschicken</div>
            <div class="td_rechts"><input class="submit" type="submit" name="senden" value="Senden" tabindex="60" /></div>
            <div class="leer"></div>
            <div class="td_links"><span class="small_font">* = Pflichtfelder</span></div>
            <div class="td_rechts"></div>
            <div class="leer"></div>
        </form>';
}






?>

Diese Script binde ich dann über include in die Datei ein.

So nun hoffe ich, das Ihr mir da helfen könnt.

Danke und lieben Gruß
Fredolin
 
Zuletzt bearbeitet:
Hallo Bergonline,

leider liegt das auch nicht daran.. das habe ich auch schon versucht..

was hab ich versucht..

vor dem mail das @ weggenommen..
andere e-mailadresse genommen

würde gerne wissen, ob ich mir irgentwie fehlermeldungen ausgegeben kann wie bei datenbanken (errno und error).

Da das Script ja sagt das die Mail verschickt wurde. Oder kann ich irgentwie das mal ausgeben oder abfragen was es getan hat oder so?

gruss
fredolin
 
Hi,

Wenn ich das @ entferne, kommt bei mir

PHP:
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 ....\mail.php on line 116


Sicherhaltshalber gefragt....hast du ein funktionierenden smtp?
bzw finde ich es komisch, wenn du keine Fehlermeldung erhältst.


bo
 
Zuletzt bearbeitet von einem Moderator:
So hat sich erledigt.
Es liegt am Webspace. Da das nur so ein billiger Webspace ist, sind da die Functionen für Mail, FTP PHP Script und MySQL abgeschaltet.

Somit konnte ich da probieren bis mir übel geworden wäre..

Aber ich Danke alle die geholfen haben.. Danke

Gruß
Fredolin
 

Neue Beiträge

Zurück