[php] i outlook błędy w funkcji mail!?

0

Witam serdecznie!
Potrzebuje skryptu który wysyła maile za pomoca funkcji mail w php i takowy skrypt napisałem...

<?php
    // Naglowki
	
    $naglowki .= "Content-type: text/html; charset=iso-8859-2\r\n"; 
    $naglowki .= "From: [email protected] <[email protected]>\r\n";
    $naglowki .= "Reply-to: [email protected] <[email protected]>\r\n";
    //Wiadomość
    $wiadomosc = '<html> 
    <head> 
      <title>Tytuł wiadomości e-mail</title> 
    </head> 
    <body>
        <p><b>Ble ble ble</b>: To jest treść wiadomości z formatowaniem <i>HTML</i>.</p>
        a to jest fotka <img SRC="http://helion.pl/okladki/72x95/zaprjs.jpg">
    </body>
    </html>';


    if(mail('[email protected]', 'Witaj', $wiadomosc, $naglowki))
    {
       echo 'Wiadomość została wysłana ';
	   
    }
	else
	{
	echo 'Niestety wystąpił błąd, nie mogłem wysłać maila...';
	}

 ?>

I niby wszystko w pożądku, odbieram maila na o2 i wszystko gra, formatowanie dziala etc.
Odbieram maila przez outlooka i wygląda on w nastepujący sposób(to jest treść maila):

From: [email protected] Reply-to: [email protected] X-o2-Trust: 2, 66 X-Antivirus: avast! (VPS 000737-2, 2007-04-30), Inbound message X-Antivirus-Status: Clean 
Ble ble ble: To jest treść wiadomości z formatowaniem HTML.

Formatowanie dziala ale naglówki są pominięte (wstawione sa jako tresc wiadomości) i nie mam pojecia dlaczego...!!??

0

dodałem tez kodowanie:

	$naglowki .= "MIME-Version: 1.0\r\n";  

i tez nic cały czas problem z outlookiem..!?

0

a co jest na początku tego skryptu ?
bo cały czas dopisujesz do zmiennej $naglowki a nigdzie jej nie zaczynasz
Wygląda to tak jakby po content-type były dwie przerwy
nie wiem czy po ostatnim nagłówku nie powinno nie być czasem już znaku nowej linii, bo chyba funkcja mail już je dodaje

w każdym razie wygląda na to że twój antywirus jeszcze odróżnia treść wiadomości od nagłówków bo wstawia te swoje w dobre miejsce więc może to on coś chrzani ?
pokaż jak wygląda cały mail razem z nagłówkami odebrany już przez outlook

0
Return-Path: <[email protected]>
Received: by o2.pl (o2.pl mailsystem) with LMTP;
	Tue, 01 May 2007 17:26:04 +0200
Received: from v139.rev.tld.pl [195.149.224.139]
	by mx6.go2.pl with ESMTP id 1178033164777252
	for <[email protected]>; Tue, 01 May 2007 17:26:04 +0200
Received: (qmail 21878 invoked by uid 139096); 1 May 2007 15:26:04 -0000
Date: 1 May 2007 15:26:04 -0000
Message-ID: <[email protected]>
To: [email protected]
Subject: Witaj
HTTP-Posting-Client: 83.6.88.171
HTTP-Posting-URI: activetravel.com.pl:80/cw.php
HTTP-Posting-User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)
Content-type: text/html; charset=iso-8859-2

MIME-Version: 1.0

From: [email protected] <[email protected]>
Reply-to: [email protected] <[email protected]>
X-o2-Trust: 2, 63
X-Antivirus: avast! (VPS 000737-2, 2007-04-30), Inbound message
X-Antivirus-Status: Clean


<html> 

    <head> 

      <title>Wiadomo¶ć e-mail</title> 

    </head> 

    <body>

        <p><b>Tre¶ć wiadomo¶ci</b>: To jest tre¶ć wiadomo¶ci z formatowaniem HTML.</p>

		<img SRC="http://helion.pl/okladki/72x95/zaprjs.jpg">

    </body>

    </html>

nie wiem dlaczgo ale po

Content-type: text/html; charset=iso-8859-2

juz nie czyta nagłówków!? jak usune koniec lini to wyskoczy błąd!?

0

nagłówki od treści odróżnia pusta linia, która tutaj występuje po Content-Type
skoro ty nie wstawiasz takowej to zmień oznaczenie nowej linii z \r\n na samo \n - tyle że to jest wbrew protokołowi i nawet o ile zadziała tutaj to może nie zadziałać na innym serwerze

ale znowu między From a Reply-To jest pojedyncza pusta linia więc jednak coś ty raczej masz powalone w kodzie

0

w ten sposob tez próbowalem i tez jest bląd!
masmoze jakis inny pomysl...??

0

zauwaylemze blad wystepuje po tej linii:

    $naglowki .= "Content-type: text/html; charset=iso-8859-2\r\n";

umiesciem ja na kocu w zmiennej $naglowki i wszystkie wczesniejsze zostaly zaakceptowane!
A

    $naglowki .= "Content-type: text/html; charset=iso-8859-2\r\n";

jest niezauwazone!? i stad tez brak kodowania w html!
w microsoft outlook taka sama sytuacja!! Ale dlaczego..??

0

pokaż cały kod i co zawiera potem zmienna $naglowki (echo nl2br($naglowki); )

0

Wiesz juz jakos sobie poradziłem

Content-type: text/html; charset=iso-8859-2

postawiłem na samym kocu i tylko z

\n

i wtedy dziala... po prostu wszystkie nagłówki po tym sa pomijane... i nie mam pojecia dlaczego... ale coz jakos chodzi :P
Dzieki za pomoc!

1 użytkowników online, w tym zalogowanych: 0, gości: 1