Avatar billede the_ghost Nybegynder
31. oktober 2003 - 16:48 Der er 20 kommentarer og
2 løsninger

mail problem

Jeg har et lille problem med mail functionen.
Jeg har lavet dette script:

$indhold = file("mailinglist.txt");
for ($i = count($indhold)-1; $i >=0; $i--)
{
  $vis = split("\|", chop($indhold[$i]));
    mail($vis[0], "Dette er en test", "dette er somsagt en test", "From: "."jyllandsgade13@mail.dk");
    echo "$vis[0]";
    echo "<BR>";
}
?>

Når den så skal sende en mail, kommer den med fejlen:

Warning: mail(): SMTP server response: 554 Error: no valid recipients in c:\apache\htdocs\ip.php on line 72

hvor linie 72 er :
mail($vis[0], "Dette er en test", "dette er som sagt en test", "From: "."from@mail.dk");

Mailen bliver sendt til modtageren, men hvorfor kommer fejlen så??
Avatar billede leif Seniormester
31. oktober 2003 - 16:53 #1
Hvad viser den hvis du udskriver variablen $vis[0] på skærmen, ser mail adressen korrekt ud ???
Avatar billede the_ghost Nybegynder
31. oktober 2003 - 16:55 #2
Ja, og modtageren kan også godt modtage mailen.
Avatar billede schaefner Juniormester
31. oktober 2003 - 17:01 #3
Prøv:

<?php
$indhold = file("mailinglist.txt");
for ($i=0;$i<count($indhold);$i++){
    $vis = split("\|",chop($indhold[$i]));
    mail($vis[0], "Dette er en test", "dette er somsagt en test", "From: "."jyllandsgade13@mail.dk");
    echo "$vis[0]<br>";
    reset($vis);
}
?>
Avatar billede the_ghost Nybegynder
31. oktober 2003 - 17:04 #4
Det virker stadig væk ikke..
Der kommer den samme fejl
Avatar billede schaefner Juniormester
31. oktober 2003 - 17:05 #5
Hvordan står dine adresser i filen?
Avatar billede the_ghost Nybegynder
31. oktober 2003 - 17:05 #6
Nu linien hvor fejlen kommer bare før udskriftet, hvorimod den stod efter udskriftet før.
Avatar billede the_ghost Nybegynder
31. oktober 2003 - 17:09 #7
The_Ghost@mail.dk|

+ en lille firkant før mailen, der nok skal forestille et linie skift
Avatar billede the_ghost Nybegynder
31. oktober 2003 - 17:10 #8
såddan ser sciptet ud, jeg bruger til at ligge en mail addresse i filen:
<?php
if (isset($_POST['maillist']))
{
  $mailAddress = $_POST["mail"];
    if($mailAddress == "" || $mailAddress == " ")
    {
      header("Location:ip.php");
        exit;
    }
    //Det som skal skrives til textfilen
    $str = "\n$mailAddress|";
   
    //Navnet paa textfilen
    $file = "mailinglist.txt";
   
    //Aaben for skrivning
    $fp = fopen($file, 'a+');
    if($fp)
    {
      fputs($fp, $str);
        fclose($fp);
    }
    header("Location:ip.php");
    exit;
}
?>
Avatar billede schaefner Juniormester
31. oktober 2003 - 17:12 #9
hvad skal den | gøre godt for?
Avatar billede schaefner Juniormester
31. oktober 2003 - 17:13 #10
Ved godt at det ikke løser dit problem, men jeg har lavet en mailliste der også gemmer adresserne i en fil:

http://script.dk/sourcecode.jsp?resourceId=1138
Avatar billede schaefner Juniormester
31. oktober 2003 - 17:14 #11
eller prøv:

<?php
$indhold = file("mailinglist.txt");
for ($i=0;$i<count($indhold);$i++){
    $vis = split("\|",trim($indhold[$i]));
    mail($vis[0], "Dette er en test", "dette er somsagt en test", "From: "."jyllandsgade13@mail.dk");
    echo "$vis[0]<br>";
}
?>
Avatar billede the_ghost Nybegynder
31. oktober 2003 - 17:14 #12
jeg bruger | til at opdele addresserne
som jeg så henter med
$vis = split("\|",chop($indhold[$i]));
Avatar billede schaefner Juniormester
31. oktober 2003 - 17:14 #13
$vis = explode('|',trim($indhold[$i]));
Avatar billede the_ghost Nybegynder
31. oktober 2003 - 17:22 #14
Jeg får samme fejl ved at bruge
$vis = explode('|',trim($indhold[$i]));
Avatar billede the_ghost Nybegynder
31. oktober 2003 - 17:25 #15
Det er ligesom om at den godt kan sende til de folk der står i filen, men når den så er færdig vil den lige sende en sidste gang, men denne gang er der jo ikke nogen mail at sende til...
Avatar billede the_ghost Nybegynder
31. oktober 2003 - 17:28 #16
Nu har jeg fået det til at virken jeg skulle bare sætte $i=1
Avatar billede schaefner Juniormester
31. oktober 2003 - 17:29 #17
så er det fordi den første linje ikke indeholder noget, andet end et linjeskift.
Avatar billede the_ghost Nybegynder
31. oktober 2003 - 17:33 #18
Det gør den heller ikke...
Avatar billede the_ghost Nybegynder
31. oktober 2003 - 17:34 #19
Kan du ikke lave et svar så deler vi pointene... Jeg ved godt at du ikke fik svaret 100% på mit spørgsmål, men jeg tror ikke at jeg havde fundet fejlen, hvis du ikke havde hjulpet!!! :-)
Avatar billede schaefner Juniormester
31. oktober 2003 - 17:35 #20
ok, takker :)
Avatar billede the_ghost Nybegynder
31. oktober 2003 - 17:51 #21
Ved du hvordan man kan kontrolere om folk de indtaster en email addresse der rent faktisk findes, sådan at man ikke får nogle fejl når siden kører.
Avatar billede tipsen Nybegynder
31. oktober 2003 - 20:38 #22
Kig efter scripts hos www.ljweb.com - der er ét til formålet.
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