Avatar billede big_ossi Nybegynder
25. november 2010 - 17:24 Der er 13 kommentarer og
1 løsning

kan ikke få mail() til at virke i formular hos surftown

Hej

Jeg har prøvet alt hvad jeg kan komme tanke om for at få denne formular til at virke.

Men det vil bare ikke sende en mail afsted når der trykkes send.

Søger friske øjne som måske kan se en fejl jeg har over set.

kode fra form.php

<div id="contact"><?
        // Attention! Please read the following.
        // It is important you do not edit pieces of code that aren't tagged as a configurable options identified by the following:
       
        // Configuration option.
       
        // Each option that is easily editable has a modified example given.
       
       
        $error    = '';
        $name    = '';
        $email    = '';
        $phone    = '';
        $subject  = '';
        $comments = '';
        $verify  = '';
       
        if(isset($_POST['contactus'])) {
       
        $name    = $_POST['name'];
        $email    = $_POST['email'];
        $phone  = $_POST['phone'];
        $subject  = $_POST['subject'];
        $comments = $_POST['comments'];
        $verify  = $_POST['verify'];
       

        // Configuration option.
        // You may change the error messages below.
        // e.g. $error = 'Attention! This is a customised error message!';
       
        if(trim($name) == '') {
            $error = '<div class="error_message">Obs! Du mangler at skrive dit navn.</div>';
        } else if(trim($email) == '') {
            $error = '<div class="error_message">Obs! Du mangler en email adresse.</div>';
      } else if(trim($phone) == '') {
            $error = '<div class="error_message">Obs! Du mangler at oplyse et tlf nummer jeg kan kontakte dig p&aring;.</div>';
     
      // Configuration option.
      // Remove the // tags below to active phone number.
      //} else if(!is_numeric($phone)) {
      //  $error = '<div class="error_message">Attention! Phone number can only contain digits.</div>';
     
        } else if(!isEmail($email)) {
            $error = '<div class="error_message">Obs! Email adressen du har skrevet har en fejl, pr&oslash;v igen.</div>';
        }
       
        if(trim($subject) == '') {
            $error = '<div class="error_message">Obs! Skriv venligst en emne.</div>';
        } else if(trim($comments) == '') {
            $error = '<div class="error_message">Obs! Skriv venligst en besked.</div>';
        } else if(trim($verify) == '') {
            $error = '<div class="error_message">Obs! Skriv venligst svaret p&aring; sikkerhedssp&oslash;rgsm&aring;let.</div>';
        } else if(trim($verify) != '4') {
            $error = '<div class="error_message">Obs! Sikkerhedskoden du skrev er forkert, pr&oslash;v igen.</div>';
        }
       
        if($error == '') {
       
            if(get_magic_quotes_gpc()) {
                $comments = stripslashes($comments);
            }


        // Configuration option.
        // i.e. The standard subject will appear as, "You've been contacted by John Doe."
       
        // Example, $e_subject = '$name . ' has contacted you via Your Website.';

        $e_subject = 'Du er blevet kontaktet af ' . $name . '.';


        // Configuration option.
        // You can change this if you feel that you need to.
        // Developers, you may wish to add more fields to the form, in which case you must be sure to add them here.
                   
        $e_body = "Du er blevet kontaktet af $name angående $subject, deres supplerende meddelelse er som følger
.\r\n\n";
        $e_content = "\"$comments\"\r\n\n";
       
        // Configuration option.
          // RIf you active phone number, swap the tags of $e-reply below to include phone number.
        //$e_reply = "You can contact $name via email, $email or via phone $phone";
        $e_reply = "Du kan kontakte $name via denne oplyste email, $email";
                   
        $msg = $e_body . $e_content . $e_reply;

        $to      = 'xxxxxxxxxxxx';
        $headers = 'From: $email' . "\r\n" . 'Reply-To: $email' . "\r\n" . 'X-Mailer: PHP/' . phpversion();
        mail($to, utf8_encode($e_subject), utf8_encode($msg));



        // Email has sent successfully, echo a success page.
                   
        echo "<div id='succsess_page'>";
        echo "<p>Tak, din besked er afsendt med succes.</p>";
        echo "<p>Tak <strong>$name</strong></br>Din besked er modtaget og du h&oslash;re fra mig snarest.</p>";
        echo "</div>";
                     
        }
    }

        if(!isset($_POST['contactus']) || $error != '') // Do not edit.
        {
?><? echo $error; ?>
            <fieldset>
            <legend>Udfyld venligst nedenstående formular</legend>

            <form  method="post" action="">

            <label for=name accesskey=U><span class="required">*</span> Dit navn</label>
            <input name="name" type="text" id="name" size="30" value="<?=$name;?>" />

            <br />
            <label for=email accesskey=E><span class="required">*</span> Din email</label>
            <input name="email" type="text" id="email" size="30" value="<?=$email;?>" />

            <br />
            <label for=phone accesskey=P><span class="required">*</span> Telefon nr.</label>
            <input name="phone" type="text" id="phone" size="30" value="<?=$phone;?>" />

            <br />

            <label for=subject accesskey=S><span class="required">*</span> Emne</label>
            <input name="subject" type="text" id="subject" size="30" value="<?=$subject;?>" />

            <br />
            <label for=comments accesskey=C><span class="required">*</span> Din besked</label>
            <textarea name="comments" cols="40" rows="3"  id="comments"><?=$comments;?></textarea>

            <hr />
           
            <p><span class="required">*</span>Sikkerhedssp&oslash;rgsm&aring;l</p>
           
            <label for=verify accesskey=V>&nbsp;&nbsp;&nbsp;3 + 1 =</label>
            <input name="verify" type="text" id="verify" size="4" value="<?=$verify;?>" /><br /><br />

            <input name="contactus" type="submit" class="submit" id="contactus" value="Send besked" />

            </form>
           
            </fieldset>
           
<? }
   
function isEmail($email) { // Email address verification, do not edit.
return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email));
}

?>
    </div>
Avatar billede webweaver Praktikant
25. november 2010 - 17:55 #1
Inden jeg overhovedet kigger indlægget igennem, vil jeg godt vide hvad for en fejl som du oplever? Det gør det altså noget nemmere. Kommer der en fejl når du trykker send, eller er der en hele tiden? Blank side? Eller virker alt fint, med undtagelse af at du aldrig modtager mailen?
Avatar billede big_ossi Nybegynder
25. november 2010 - 18:25 #2
Den gør alt som den skal ud over af sende mailen.

er ret sikker på problemet er i mail().
ved ikke om det vil hjælpe at sende den gemmem min smtp.
Men aner nu heller ikke hvordan jeg skal sætte mail() op så den bruger min smtp server.
Avatar billede majbom Novice
25. november 2010 - 18:35 #3
prøv at smid din mail(...) i en if-sætning og se om den returnerer true eller false...
Avatar billede big_ossi Nybegynder
25. november 2010 - 18:40 #4
hvordan skal det se ud ?
Avatar billede big_ossi Nybegynder
25. november 2010 - 18:51 #5
$send_mail = mail($to, $e_subject, $msg, $headers);

// check and return result
    if ($send_mail) {
        return true;
    } else {
        return false;
    }
så blev siden blank
Avatar billede big_ossi Nybegynder
25. november 2010 - 18:55 #6
if ($send_mail) {
        echo "Your e-mail message was sent!";
    } else {
        echo "Your e-mail message was not sent!";
    }
så siger den Your e-mail message was sent!

Men stadig ingen mails i min indbakke hverken hotmail eller gmail når jeg skifter modtaqer ud.
Avatar billede big_ossi Nybegynder
25. november 2010 - 19:08 #7
har lige prøvet på en vens gigahost konto og der sender den mail afsted.

så fejlen er så hos mit webhotel ved surftown.

Hvad kan jeg gøre for at få den til at sende fra surftown ?
Avatar billede leif Seniormester
25. november 2010 - 19:48 #8
Jeg kan ikke huske hvem det var man der er nogen udbyder som laver en kontrol af den email som står som afsender er gyldig i deres system dvs. skal være oprettet som POP3 konto på deres egne mailservere
Avatar billede big_ossi Nybegynder
25. november 2010 - 20:03 #9
har prøvet at ændre afsender til mail@domænet_det_ligger_på.dk

det giver heller ikke nogen mail :-/
Avatar billede webweaver Praktikant
25. november 2010 - 20:27 #10
Det er ligemeget hvilken mail du benytter hos Surftown.
Og jeg VED at det virker hos Surftown, da jeg selv bruger det hos dem massere af forskellige steder.

Dine mails ender ikke i din spam mappe hos mail udbyderen?
Avatar billede big_ossi Nybegynder
25. november 2010 - 21:58 #11
@webweaver Har prøvet med mine email adresse hos surftown som modtager og afsender uden held. Der sker heller ikke noget når jeg bruger gmail eller hotmail adresser.

Der vil godt virke på Gigahost webhotellet jeg har lånt af en ven til at teste med, men mit surftown webhotel gør noget så den ikke levere de mails.

har du prøvet med min kode på dit webhotel hos surftown ?
Avatar billede big_ossi Nybegynder
26. november 2010 - 15:52 #12
Vil lige sige at problemet er fundet.
Mange tak for hjælpen. Vil i have points så smider i bare et svar ;)

Ringede til deres support, de ville undersøge sagen og maile tilbage.

Svaret fra dem:

Så fandt jeg frem til årsagen, som var en regel i vores IP tables der var sat til at firewalle netop den server du lå på.
Hvorfor metoden fungerede fint, men at data aldrig nåede frem.

Denne er nu ændret og mails kan frit sendes fra serveren.

Vi beklager ulejligheden.

Fortsat god dag.

Venlige hilsener

Surftown Support
Avatar billede webweaver Praktikant
26. november 2010 - 21:46 #13
Det må jeg nok sige. De plejer ellers at være ret seriøse omkring deres hosting. Super at sådan et problem blev opdaget. Mystisk, andre ikke har klaget over det.

Svar :)
Avatar billede big_ossi Nybegynder
28. november 2010 - 17:08 #14
Ja jeg har heller ikke oplevet mange problemer med dem.

Den server jeg ligger på har hvis ikke ret mange bruger, for der er kun 62 domæner på den og de 23 af dem er mine ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester