Gut, dann die Frage: warum willst du HTML-Code per echo ausgeben? Da stecken keine PHP-relevanten Dinge in der Ausgabe, das macht also keinen Sinn.
Um die Frage eventuell einfach zu erklären, erläutere ich den gesamten Vorgang von dem Programm.
Es wird über den PHPMailer automatisch E-Mails an hinterlegten E-Mail Adressen versendet. Diese E-Mail Adressen werden im PHP Mailer via SQL Abfrage aus einer Datenbank entnommen und automatisch in $mail->addAddress hinterlegt. Jede E-Mail Adresse hat eine eindeutige ID Nummer, die auch in der Datenbank hinterlegt ist.
Um zu überprüfen, ob und wer auf den Link geklickt hat, wird ein Link generiert der eine eindeutige ID Nummer hinterlegt hat. Sprich http://maxmustermann.de/test.php?id=4
Wird dieser Link angeklickt, wird die ID Nummer der Links in einem PHP Programm entnommen und einen Datenbank Eintrag mit UPDATE SET getätigt.
Um diese ID in der E-Mail Adresse automatisch zu hinterlegen, wird in dem HTML Code, an der Stelle wo der Link hinterlegt ist, eine Variable über PHP eingebaut die das letzte Ende des Links automatisch ersetzt.
Sprich es wird überprüft, welche ID (welche E-Mail) abgesendet wird und dann soll automatisch die ID im HTML Code angepasst werden.
In dem HTML Code ist bis jetzt noch keine Variablen hinterlegt, da ich erst das Problem lösen wollte, dass php in der Mail angezeigt wird beziehungsweise funktionieren.
Ich hoffe ich konnte es so erklären, das man das Prinzip versteht.