PHPmailer, Mail als HTML: nimmt keine dynamische GET-Variablen an

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHPmailer, Mail als HTML: nimmt keine dynamische GET-Variablen an

    Hallo

    Ich arbeite an einem Projekt wo ich mit PHPmailer arbeite.

    Man instanziert ein Objekt von PHPmailer (bei mir $mail) und füllt dort die verschiedenen Parameter ab.

    Dort kann man auch $mail->isHTML(true) setzen und dann in die "Body" Variable ein HTML Code einfügen welcher dann der Inhalt der Mail bildet.

    $mail->isHTML(true); // Set email format to HTML
    $mail->Subject = 'Anmeldung Lunch Roulette';
    $mail->Body = ' <hier kommt HTML rein>';

    Jetzt habe ich ein relativ grosses HTML dort drin weil ich ein schönes Mail-Template habe. Im Mail steht dann auch ein Logout link (logout.php) der im HTML etwa so aussieht:
    <a href="https://xyz.zyx.ch/logout.php?>

    Jedoch möchte ich im Link über GET php Variablen einsetzen...also etwa so:
    logout.php?vorname=$vorname&nachname=$nachname

    Die Variablen $vorname/$nachname werden durch simpleSAMLphp bzw. Azure AD gefüllt.

    mMn macht das Ganze Problem weil das HTML als Value in einfachen Anführungszeichen stehen und das inline PHP nicht erkennt wird.

    Ziel:
    $mail->Body = '<a href="https://xyz.zyx.ch/logout.php?name=$nachname&vorname=$vorname> ' (als GET php-Variablen)

    Resultat: Mail beim User mit einem Link in diesem sein Vorname und Nachname an logout.php übertragen wird.

    Wieso das ganze mit GET? Weil das ganze mit simpleSAMLphp / SingleSignOn läuft und mir dieses Tool die Session schliesst sobald ich session_start() mache bzw. es wirft einen Fehler.

    Bitte entschuldigt mich wenn ich beim Wording fehler mache. Hoffe aber es ist genug verständlich!


    Viele Grüsse aus
    Zuletzt geändert von projektphp; 19.09.2018, 11:31.

  • #2
    PHP-Code:
    $data = [
        
    'vorname' => 'Max',
        
    'nachname' => 'Mustermann'
    ];
    $url 'https://example.org/logout.php?' http_build_query($data);
    $html '<a href="' htmlspecialchars($urlENT_COMPAT'UTF-8') . '">Logout</a>';

    $mail->Body $html

    Kommentar


    • #3
      Verdammt, wie hast du das rausgefunden? Du bist wahrscheinlich beruflich PHP Entwickler oder?

      Es hat geklappt! Echt super!

      Ich mache noch ein neues Thema auf bezüglich einer Alternative oder lösen des Session-Problems beim verwenden von simpleSAMLphp.

      Gruss
      Zuletzt geändert von projektphp; 18.09.2018, 12:59.

      Kommentar

      Lädt...
      X