Avatar billede jesper-moeller Nybegynder
14. september 2006 - 23:50 Der er 7 kommentarer og
1 løsning

PHP script sender kun mail nogengange

jeg har lavet et lille PHP script så brugeren kan skrive sig op til et nyhedsbrev.

Problemet er det kun sende en mail nogen gange

Håber nogen kan hjælpe mig med hvorfor det kun virker nogle gange ??

her er min test side
http://www.jart.dk/jgom/php-test/mail-test.php

selve scriptet ser sålede ud (min mail ændret her)
-------
<?php
// **************************************************************************
//             NAME THE MAIL INFORMATION FILE (AND ITS URL) AND CHANGE THE MESSAGES AS YOUR WANT       
// **************************************************************************
$file = "maillisten.txt";                                            // the mail information file (url)
    //    FORM MESSAGES
$mainmessage = "Insert your Email";                                // start messages
$errormessage1 = "Error: The Email is not valid";                    // error messages
$errormessage2 = "Error: The server dont exist";
$errormessage3 = "Your Email is already on the mailing list";
$errormessage4 = "Your Email is not on the mailing list";
$message1 = "Your Email has been added.<br>Thanks for joining.";    // subscription messages
$message2 = "Your Email has been removed. ";
    //    MAIL INFOMATION
$from_email="JGOM <min@mail.dk>";                        // yourdomain.com must be your real domain
$replayto="min@mail.dk";                                        // replay to email adress
    //    MAIL MESSAGES
$mail_subject1="Confermation of your subscribtion to JGOM News Mail";                    // subscribe confermation email
$mail_message1="Your email has been added to the JGOM News Mail list.
Thanks for joining.

Best regards
Jesper G.O. Møller

---------------------------------------------------------------------
If its not you that  have subscribe to the JGOM News Mail list
Pleas go to http://www.jart.dk/jgom/ to remove you from the list...
";
$mail_subject2="Confermation of your removal from JGOM News Mail";                //  unsubscribe confermation email
$mail_message2="Your email has been removed from the JGOM News Mail list.

Best regards
Jesper G.O. Møller

-----------------------------------------------------------------
If its not you that  have unsubscribe from the JGOM News Mail list
Pleas go to  http://www.jart.dk/jgom/ to add you to the list...
";
// **************************************************************************
$message = $mainmessage;
$email = "";
$formcheck = 0;
if (!$_POST){make_form($message);
}else{
    $email=$_POST["email"];
    $email=strtolower($email);
    $action=$_POST["action"];
        if ($email==""){
            $message = $mainmessage;
            $formcheck = 1;
        }else{
            $emailcheck=trim($_POST["email"]);
            $pattern = "^([[:alnum:]]|_|\.|-)+@([[:alnum:]]|\.|-)+(\.)([a-z]{2,4})$";
                if (!eregi($pattern, $emailcheck)){
                    $message = $errormessage1;
                    $formcheck = 1;
                }else{
                    $email_server=substr($email,strpos($email, "@")+1);
                        if (checkdnsrr($email_server)!=1){
                            $message = $errormessage2;   
                            $formcheck = 1;
                        }
                }
        }
    if ($formcheck==0){
        if (file_exists($file)){
            $file_content=file_get_contents($file);
        }else{
            $cf = fopen($file, "w") or die("Error: file can not be create.<BR>Please check permissions.");
            fputs($cf, "News Mail subscribers\n");
            fclose($cf);
        }
    }
    if ($formcheck==0){
        if ($action=="subc"){
            if(strpos($file_content,"<$email>")>0){
                $message = $errormessage3;
                $formcheck = 1;
            }else{
                $cf = fopen($file, "a");
                fputs($cf, "\n<$email>");
                fclose($cf);
                mail($email, $mail_subject1, $mail_message1,"From: $from_email\nReply-To: $replayto\nContent-Type: text/plain");
                $message = $message1;
                $formcheck = 1;
                flush();
            }
        }
    }
    if ($formcheck==0){
        if ($action=="unsubc"){
            if(strpos($file_content,"<$email>")==0){
                $message = $errormessage4;
                $formcheck = 1;
            }else{
                $file_content=preg_replace ("/\n<$email>/","",$file_content);
                $cf = fopen($file, "w");
                fputs($cf, $file_content);
                fclose($cf);
                mail($email, $mail_subject2, $mail_message2,"From: $from_email\nReply-To: $replayto\nContent-Type: text/plain");
                $message = $message2;
                $formcheck = 1;
                flush();
            }
        }
    }
make_form($message);
}
function make_form($message){
?>
-----------
Avatar billede jakobdo Ekspert
15. september 2006 - 15:21 #1
Du kunne ihf. lave et tjek på funktionen: mail()
if(mail(......))
echo "Email afsendt";
else
echo "Email blev ikke afsendt";

og ser du en masse email afsendt, så skal du have fat i udbyder eller måske modtager har spamfilter på?
Avatar billede jesper-moeller Nybegynder
15. september 2006 - 16:40 #2
jakobdo

Har prøvet at lave check på funktionen ... den melder sendt hver gang
og da jeg i min test sender mail fra min egen side til en anden af mine mailkonti ved jeg det ikke spamfilter der stopper dem.

Du har nok ret i jeg skal have fat i udbyderen
Kan det tænkes at udbyderen har en slags filter på hvor mange og hvor hurtigt man kan maile ??
Avatar billede jakobdo Ekspert
15. september 2006 - 18:43 #3
Hvem har du som udbyder?
B-One?
Avatar billede jesper-moeller Nybegynder
15. september 2006 - 19:22 #4
Jeps ....
eller som de heder nu ... One
Avatar billede jakobdo Ekspert
15. september 2006 - 20:09 #5
Prøv at læs dette indlæg: http://www.eksperten.dk/spm/618736
Kommentar: d.kryger -> 19/05-2005 10:54:36
Avatar billede jesper-moeller Nybegynder
07. november 2006 - 10:36 #6
jakobdo

Smider du lige et svar ?
Avatar billede jakobdo Ekspert
07. november 2006 - 13:51 #7
Svar!
Avatar billede jakobdo Ekspert
07. november 2006 - 16:03 #8
Takker for point.
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