webForumDet fria alternativet

Dynamisk header i PHP mail()

PHP

3 svar · 768 visningar · startad av K@llen

Medlem sedan mars 20032 667 inlägg
Frågan#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. :(

Medlem sedan juni 200032 967 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

Medlem sedan mars 20032 667 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

Medlem sedan juli 2002630 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.

257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)