Avatar billede nemlig Professor
21. december 2008 - 14:25 Der er 27 kommentarer og
2 løsninger

PHPmailer returnerer en fejl ved bestemt emailadresse

Jeg har lavet et email-script, hvor det er muligt at sende samme emails til en række email-adresser.
Scriptet ligger hos one.com og har fungeret upåklageligt.
Men PHPmailer fejler, hvis jeg sender til denne emailadresse: min-kl@e-mail.dk.
Jeg har prøvet at sende både via one.com's SMTP-server og via standard opsætning. Begge giver fejl.
Avatar billede straszek Praktikant
21. december 2008 - 17:27 #1
hvis du sender ti l"min-kl@e-mail.dk." som du har skrevet vil det fejle - det går ikke med punktum efter dk
Avatar billede nemlig Professor
21. december 2008 - 17:56 #2
Det fik jeg ikke gjort tydeligt nok.
Den omtalte email adresse er:

min-kl@e-mail.dk

Der er ikke et punktum til sidst.
Avatar billede coderdk Praktikant
21. december 2008 - 22:25 #3
Og så 10.000$ spørgsmålet: Hvilken fejl får du?
Avatar billede nemlig Professor
21. december 2008 - 23:00 #4
Godt spørgsmål....
I PHPmailer definerer jeg selv fejlteksten:

if(!$mail->Send())
{
echo "bla bla bla.";
exit;
}

Jeg får derfor ikke en brugbar fejl.
Systemet gør brug af en while-statement og fungerer fint indtil pågældene emailadresse.
Og prøver jeg bare at sende til den ene email, så får jeg samme fejl.
Udelader emailadressen, men sender til 30 andre adresser, så fungerer det fint.

Jeg gætter på, at det er one.com, som måske afviser emailadresser med bindestreg både før og efter snabel-a.
Avatar billede coderdk Praktikant
21. december 2008 - 23:04 #5
Prøv at udskrive $mail->ErrorInfo
Avatar billede nemlig Professor
21. december 2008 - 23:16 #6
Så udskrives denne fejl:
Language string failed to load: instantiate
Avatar billede olebole Juniormester
21. december 2008 - 23:19 #7
<ole>

Det kunne synes, somom andre har samme problem:
    http://www.google.dk/search?hl=da&q=phpmailer+Language+string+failed+to+load%3A+instantiate&meta=&aq=f&oq=

/mvh
</bole>
Avatar billede nemlig Professor
21. december 2008 - 23:19 #8
Og jeg for sjov lige prøvet at sende til denne adresse:
migaawq@e-mail.dk

Det giver samme fejl.

Hvis jeg sender til migaawq@email.dk, så lykkedes det fint.
Avatar billede olebole Juniormester
21. december 2008 - 23:24 #9
Hvad sker der, hvis du sender til:
    blabla@gzxituuqpaz.dk
Avatar billede olebole Juniormester
21. december 2008 - 23:24 #10
Det kunne tænkes, det skyldes, domænet ikke eksisterer - eller ikke kan køre mails  =)
Avatar billede nemlig Professor
21. december 2008 - 23:37 #11
Jeg har prøvet at sende email til blabla@gzxituuqpaz.dk, og det virker fint.
Domænet e-mail.dk eksisterer og ejes af jubii.dk.
Avatar billede olebole Juniormester
21. december 2008 - 23:39 #12
Prøv at tjekke det link, jeg skrev. Der er vist mange, der har en mening, så det burde være muligt at finde noget  ;o)
Avatar billede nemlig Professor
21. december 2008 - 23:42 #13
Det prøver jeg.
Tak for dine bidrag og involvering i mit problem.
Send venligst et svar.
Jeg skal nok bringe løsningen her, hvis jeg finder den, så andre måske kan søge den senere.
Avatar billede olebole Juniormester
21. december 2008 - 23:53 #14
Selvtak, men jeg synes nu, coderdk skal have del i pointene. Uden hans fejludskrivning kunne jeg ikke komme op med det link  ;o)
Avatar billede nemlig Professor
21. december 2008 - 23:59 #15
sorry - det havde jeg ikke set.
Coderdk - kommer du også lige på banen.

Jeg har i øvrigt lige opdaget, at fejlteksten er afhængig af, om jeg bruger SMTP-classen eller den almindelige.
Den allerede nævnte fejl får jeg med den almindelige classe, hvorimode jeg får denne fejl, hvis jeg anvender SMTP-classen:

Language string failed to load: recipients_failedmir-kl@e-mail.dk

Jeg har heller ikke haft language-filerne liggende, men skulle heller ikke være nødvendigt, da den default tager engelsk, hvis launguage-filerne ikke er installeret.
Jeg har dog installeret disse filer, men får stadig samme fejl.
Avatar billede coderdk Praktikant
22. december 2008 - 00:34 #16
Det har muligvis noget at gøre med din FROM-header? :D
Avatar billede nemlig Professor
22. december 2008 - 07:43 #17
Coderdk: Mine from definationer ser sådan her ud:

$mail->From    = $_POST['bruger'];
$mail->FromName = $_POST['emailnavn'];   

Men der er da underligt, at jeg anvender en while......, som kører 30 gange uden problemer, og stopper når løkken kommer til den omtalte email-adresse.
Avatar billede showsource Seniormester
22. december 2008 - 08:33 #18
Jeg har lige sendt en mail til min-kl@e-mail.dk med phpmailer.
Avatar billede showsource Seniormester
22. december 2008 - 08:34 #19
<?php

    date_default_timezone_set(date_default_timezone_get());

    include_once('class.phpmailer.php');

    $sendto = "min-kl@e-mail.dk";
    $subj = "Test mail til adressen ".$sendto;

    $body = "Test email";

    $mail = new PHPMailer();

    $mail->IsSMTP(); // telling the class to use SMTP
    $mail->Host = "vip.cybercity.dk"; // SMTP server

    $mail->AddAddress($sendto);

    $mail->Subject    = $subj;

    $mail->MsgHTML($body);


            if(!$mail->Send()) {
            echo "Kunne desværre IKKE afsende email!<br />";
            echo $mail->ErrorInfo;
            } else {
            echo "Email sendt til ".$sendto;
            }

?>
Avatar billede nemlig Professor
22. december 2008 - 09:28 #20
Showsource: Interessant!. Jeg har prøvet med din kode på One.com (dog one.com's smtp server: "mailout.one.com"), og det virker fint.
Jeg har så at sige samme opsætning, som dig, men i stedet for:

    $mail->MsgHTML($body);

anvender jeg:

    $mail->Body    = $body;
    $mail->AltBody = nl2br($text_body);

Og så har jeg en anden rækkefølge på $mail-> variablerne.
Jeg anvender heller ikke timezone.
Så nu vil jeg i gang med at teste andre rækkefølger m.m.
Avatar billede nemlig Professor
22. december 2008 - 11:16 #21
Hov - desværre forkert. Jeg har prøvet koden på One.coms server, og når jeg afvikler koden, får jeg bare blank skærm. Jeg får ingen kvittering. Derfor virker det ikke.
Jeg har også prøvet med en anden emailadresse og med samme resultat (blank skærm):
Skal jeg ikke have From defineret?

Koden ser sådan her ud:
<?php

    date_default_timezone_set(date_default_timezone_get());

    include_once('class.phpmailer.php');

    $sendto = "joern@esenet.dk";
    $subj = "Test mail til adressen ".$sendto;
    $body = "Test email";

    $mail = new PHPMailer();
    $mail->IsSMTP(); // telling the class to use SMTP
    $mail->Host = "mailout.one.com"; // SMTP server
    $mail->AddAddress($sendto);
    $mail->Subject    = $subj;
    $mail->MsgHTML($body);

            if(!$mail->Send()) {
            echo "Kunne desværre IKKE afsende email!<br />";
            echo $mail->ErrorInfo;
            } else {
            echo "Email sendt til ".$sendto;
            }
?>
Avatar billede nemlig Professor
22. december 2008 - 11:29 #22
Så fandt jeg ud af, at første linje: date_default_timezone_set..... laver ballade.
Hvis jeg fjerner den, og har følgende kode, så får jeg fejl på "mig-kl@e-mail.dk" og hvis jeg prøver min egen "joern@esenet.dk", så kommer den godt nok igennem.
Håber meget på, at du vil prøve denne kode, som altså giver fejl hos one.com med emailadressen "mig-kl@e-mail.dk".

<?php

//    date_default_timezone_set(date_default_timezone_get());

    include_once('class.phpmailer.php');

    $sendto = "mir-kl@e-mail.dk";
    $subj = "Test mail til adressen ".$sendto;
    $body = "Test email";
    $text_body  = "test \n\n";

    $mail = new PHPMailer();
    $mail->IsSMTP(); // telling the class to use SMTP
    $mail->Host = "mailout.one.com"; // SMTP server
    $mail->From    = "joern@fam-johansen.dk";
    $mail->FromName = "Jørn Johansen";       
    $mail->Body    = $body;
    $mail->AltBody = nl2br($text_body);
    $mail->Subject    = $subj;
    $mail->AddAddress($sendto);

            if(!$mail->Send()) {
            echo "Kunne desværre IKKE afsende email!<br />";
            echo $mail->ErrorInfo;
            } else {
            echo "Email sendt til ".$sendto;
            }
?>
Avatar billede showsource Seniormester
22. december 2008 - 11:38 #23
Den kode du viser, ( med en anden smtp selvf. ), virker fint for mig.
date_default_timezone_set() og date_default_timezone_get() virker kun med php5
Avatar billede nemlig Professor
22. december 2008 - 11:43 #24
OK.
Jeg har lige chattet med One.com's support. De udelukker ikke et problem hos dem, så jeg skriver lige til deres supportemail.
Og jeg har også selv prøvet koden på en anden server, hvor det også virker fint.

Tak for hjælpen.
Jeg vil gerne give nogle point til dig. Skal jeg bare oprette et nyt spørgsmål med henvisning til denne tråd?
Avatar billede showsource Seniormester
22. december 2008 - 11:45 #25
Nej, det skal du ikke tænke på, man kan jo ikke blive julestiv af point, ( jeg kan ihvertfald ikke! ), eller for den sags skyld få sig "en and på"
Avatar billede nemlig Professor
22. december 2008 - 11:54 #26
OK - men det har været pænt af dig, at hjælpe mig og få mig sporet ind på problemet.
Kan du lige kort oplyse, hvad forskellen er på

$mail->MsgHTML($body);

og

$mail->Body   
$mail->AltBody
Avatar billede showsource Seniormester
22. december 2008 - 11:56 #27
Der er jeg lidt blank, fordi jeg blot skulle det ha' til at virke med en ubuntu server.
Men mit gæt er at
MsgHTML vil sende en html mail ?
Og $mail->Body vil sende som tekst
men det er jo et spm. om at kikke kode :O)
Avatar billede nemlig Professor
22. december 2008 - 14:23 #28
OK - fint nok.
Jeg bruger dem på denne måde:
$mail->Body  = html-email
$mail->AltBody = almindelig tekst.
Avatar billede nemlig Professor
29. december 2008 - 15:12 #29
Mysteriet er blevet opklaret.
Fejlen hos one.com, jf. følgende forklaring:
------------------------------------------------------------------------
Hej,

Det viste sig at e-mail.dk var røget på en intern blacklist. Den er
fjernet nu og det burde virke igen.
Med venlig hilsen / Best Regards

SUPPORTEN
----------------------------------
One.com

Web-site: http://www.one.com
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