Sie haben die Anführungszeichen vergessen:
%Vor%Beachten Sie, dass Sie doppelte Anführungszeichen verwenden müssen (andernfalls wird die Variable nicht erweitert).
Jetzt ist die Frage: Warum doppelte Anführungszeichen um $subj
und nicht $body
oder $receiver
. Die Antwort ist, dass echo
sich nicht um die Anzahl der Argumente kümmert. Wenn also $body
auf mehrere Wörter erweitert wird, druckt echo
nur alle von ihnen mit einem einzigen Leerzeichen dazwischen. Hier wären die Zitate nur von Bedeutung, wenn Sie doppelte Leerzeichen beibehalten möchten.
Wie bei $receiver
funktioniert das, weil es nur auf ein einziges Wort (keine Leerzeichen) erweitert wird. Es würde für Mail-Adressen wie John Doe <[email protected]>
brechen.