webForumDet fria alternativet

Dynamisk header i PHP mail()

3 svar · 765 visningar · startad av K@llen

K@llenMedlem sedan mars 20032 654 inlägg
#1

Följande kod fungerar:

    		$headers = 'From: webforum <xxx@xxx.se>' . "\r\n" .
    		'Reply-To: xxx@xxx.se' . "\r\n" .
    		'Bcc: xxx@xxx.se' . "\r\n" .
    		'X-Mailer: PHP/' . phpversion();

Följande kod fungerar iNTE:

    		$headers = 'From: {$sender} <xxx@xxx.se>' . "\r\n" .
    		'Reply-To: xxx@xxx.se' . "\r\n" .
    		'Bcc: xxx@xxx.se' . "\r\n" .
    		'X-Mailer: PHP/' . phpversion();

Hur skickar jag med namnet på avsändaren dynamiskt? Har testat en rad olika varianter med att infoga en variabel utan att lyckas. :(

@ndersMedlem sedan juni 200026 914 inlägg
#2

Kan du inte konkatenera in det på samma sätt som du gör på andra ställen i detta lilla kodstycke?

$headers = 'From: ' . $sender . ' <xxx@xxx.se>' . "\r\n" .
            'Reply-To: xxx@xxx.se' . "\r\n" .
            'Bcc: xxx@xxx.se' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();

Nu kan jag visserligen inte ett jota om php - men ändå. ;-)

mvh

K@llenMedlem sedan mars 20032 654 inlägg
#3

Tack @nders! :)

Provade så innan, men tabbade mig och omgav det med " . . " i stället för ' . . ' som jag faktiskt använder i detta fall. Nu fungerar det. :D

sabbacusMedlem sedan juli 2002629 inlägg
#4

Orsaken till att det inte fungerar är skillnaden mellan att kapsla in strängar med ' (enkelfnutt) kontra " (dubbelfnutt).

Med dubbelfnuttar parsar PHP innehållet så att echo "hej $name" blir t.ex. "hej Malte" vid utskrift. Med enkelfnuttar skrivs strängen ut "as-is", oavsett vad du har för innehåll i den.

128 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
125 ms — hämta tråd, inlägg och bilagor (db)