Gå til innhold

Nye problemer med mail();


Anbefalte innlegg

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 av ZoRaC
Lenke til kommentar
Videoannonse
Annonse

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
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
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
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 av ZoRaC
Lenke til kommentar
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
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
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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...