ZoRaC Skrevet 15. juli 2004 Del Skrevet 15. juli 2004 (endret) Har et problem med newsletter sendingen min. $news kommer fra et textarea via POST, men når jeg setter det inn i mailen blir det en ekstra linje mellom hver linje. Eks: Dette er en test med flere linjer I mailen blir det: Dette er en test med flere linjer Noen som ser noe feil? $news = $_POST['news']; $news = strip_tags($news, "<a>"); $mailheader = "From: \"$from_name\" <$from>\r\n"; $mailheader .= "Reply-To: $from\r\n"; $mailheader .= "BCC: $til\r\n"; $mailheader .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $mailbody = <<<Message $mail_top $news $mail_bunn Message; $mail_top og $mail_bunn er faste topp og bunntekster som skal være med. Det rare er at i $mail_bunn er det ikke ekstra linjeskift... EDIT: Hmm... Det er i Outlook jeg får de ekstra linje-skiftene. Når jeg sjekker via "webmail" så ser alt OK ut... noen ideer? Endret 15. juli 2004 av ZoRaC Lenke til kommentar
laaknor Skrevet 15. juli 2004 Del Skrevet 15. juli 2004 Hmmm... kan virke som om Outlook kanskje tolker \n\r som to linjer (noe den i følge standarden ikke skal.....) Det er ikke HTML-mail du sender ut? Kan hende at Outlook tolker det som en HTML-mail fordi den finner HTML-tagger i teksten (<a>); prøv å sende uten HTML-koder i det hele tatt.... Lenke til kommentar
ZoRaC Skrevet 15. juli 2004 Forfatter Del Skrevet 15. juli 2004 Det er ikke HTML-mail du sender ut? Kan hende at Outlook tolker det som en HTML-mail fordi den finner HTML-tagger i teksten (<a>); prøv å sende uten HTML-koder i det hele tatt.... Jeg definerer jo "$mailheader .= "Content-type: text/plain; charset=iso-8859-1\r\n". Da er det jo tekst, ikke HTML. Det er ikke HTML-koder med. Når jeg skriver bare de 3 linjene i eksemplet har ikke strip_tags-funksjonen noe å si, siden det ikke finnes noen tager... Lenke til kommentar
laaknor Skrevet 15. juli 2004 Del Skrevet 15. juli 2004 Jeg definerer jo "$mailheader .= "Content-type: text/plain; charset=iso-8859-1\r\n". Da er det jo tekst, ikke HTML. HTML er også klartekst, det er opptil epost-leseren å tolke Content-type'n og hvordan den ønsker å vise frem mailen. Men har du sjekket kildekoden på mailen som kommer frem og på $news før og etter alle endringer du gjør på den? (f.eks. før og etter strip_tags() ) Lenke til kommentar
ZoRaC Skrevet 15. juli 2004 Forfatter Del Skrevet 15. juli 2004 (endret) Men har du sjekket kildekoden på mailen som kommer frem og på $news før og etter alle endringer du gjør på den? (f.eks. før og etter strip_tags() ) Hvis jeg tar en "echo $news" i scritpet ser det nøyaktig ut som når jeg skrev det (i kilden). Mens det på skjermen, naturlig nok, står på en linje, siden det ikke er brukt <br>. EDIT: Om jeg tar "//" foran linjen med strip_tags blir det ingen endring heller Endret 15. juli 2004 av ZoRaC Lenke til kommentar
Torbjørn Skrevet 15. juli 2004 Del Skrevet 15. juli 2004 det ligger kanskje en linjeskift i variablene $mail_top, $news og $mail_bunn? som så kommer i tillegg til linjeskiften i output'en du har? Lenke til kommentar
ZoRaC Skrevet 15. juli 2004 Forfatter Del Skrevet 15. juli 2004 det ligger kanskje en linjeskift i variablene $mail_top, $news og $mail_bunn? som så kommer i tillegg til linjeskiften i output'en du har? Om jeg satte $mailbody = $news så ble det fortsatt ekstra linjeskift. Lenke til kommentar
ZoRaC Skrevet 15. juli 2004 Forfatter Del Skrevet 15. juli 2004 Løsningen ble: $news = str_replace("\n", "", $news); Hvorfor? Lenke til kommentar
Torbjørn Skrevet 15. juli 2004 Del Skrevet 15. juli 2004 det ligger kanskje en linjeskift i variablene $mail_top, $news og $mail_bunn? som så kommer i tillegg til linjeskiften i output'en du har? derfor kanskje? $news = "hei, her får du en mail\n"; Lenke til kommentar
ZoRaC Skrevet 15. juli 2004 Forfatter Del Skrevet 15. juli 2004 det ligger kanskje en linjeskift i variablene $mail_top, $news og $mail_bunn? som så kommer i tillegg til linjeskiften i output'en du har? derfor kanskje? $news = "hei, her får du en mail\n"; Ja, men problemet var jo at det var en på hver linje, ikke etter hver variabel. $news = "Dette er en nyhet på flere linjer"; Lenke til kommentar
Torbjørn Skrevet 15. juli 2004 Del Skrevet 15. juli 2004 har du url til siden? evt kan du sette opp en url som har dette problemet? Lenke til kommentar
ZoRaC Skrevet 16. juli 2004 Forfatter Del Skrevet 16. juli 2004 har du url til siden? evt kan du sette opp en url som har dette problemet? Se PM Lenke til kommentar
ZoRaC Skrevet 18. juli 2004 Forfatter Del Skrevet 18. juli 2004 Nå har jeg funnet ut at min løsning ikke var så bra. I Outlook Express fjerner den alle linjeskrift! Det ser greit ut i Outlook 2002 og webmail, men ikke i express... Noen ideer? Lenke til kommentar
Torbjørn Skrevet 19. juli 2004 Del Skrevet 19. juli 2004 anbefal folk å bruke en bra mailklient og si at de får skylle seg selv hvis de formaterer mailen i dems egen klient? Lenke til kommentar
ZoRaC Skrevet 19. juli 2004 Forfatter Del Skrevet 19. juli 2004 anbefal folk å bruke en bra mailklient og si at de får skylle seg selv hvis de formaterer mailen i dems egen klient? Outlook og Outlook Express er jo de 2 mest brukte da... Litt dumt at mailen blir "stygg" i 1 av dem... Det må da være mulig å løse dette på noe vis? Lenke til kommentar
EirikO Skrevet 19. juli 2004 Del Skrevet 19. juli 2004 Har du prøvd å fjerne \r fra headeren? $headers .= "Content-type: text/html; charset=iso-8859-1\n"; Jeg hadde noe av det samme problemet, og da hjelp dette... Lenke til kommentar
baRs Skrevet 22. juli 2004 Del Skrevet 22. juli 2004 Hmmm... kan virke som om Outlook kanskje tolker \n\r som to linjer (noe den i følge standarden ikke skal.....) Dette har jeg lest et annet sted også. Tror løsningen var å dele \n\r til \n \r (Sett inn et mellomrom mellom \n og \r) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå