Ankündigung

Einklappen
Keine Ankündigung bisher.

HTML-Email mit Link

Einklappen

Neue Werbung 2019

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

  • HTML-Email mit Link

    Hei Leute, nachdem ich mich schlau gemacht habe und endlich eine Email mit PHP versenden kann, stosse ich schon wieder auf neue, schier unlösbare Probleme. Ich bastel mir eine Variable $MailHTML zusammen die ich dann im weiteren Verlauf versende.
    Code:
    $MailHTML .= "<Td align='right'><a href='http://www.domain.de/links.php3?sessionid=";
    $MailHTML .= $sessionid."&keyword=";
    $MailHTML .= $searchstring."'>";
    $MailHTML .= $Link."</a> </Td>\n";
    Im 2ten Teil versende ich die Email mit einem Skript:
    Code:
    $boundary = "-----=" . md5( uniqid ( rand() ) );
    $headers = "From: \"ak47\"<ak47\@xyz.de>\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type:multipart/alternative; boundary=\"$boundary\"";
    
    $message_txt = "Textversion\n\n";
    
    $message_html = "<html><body>HTML-Version";
    $message_html .= $MailHTML 
    
    $message = "This is a multi-part message in MIME format.\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: text/plain;charset=\"iso-8859-1\"\n";
    $message .= "Content-Transfer-Encoding:quoted-printable\r\n\r\n";
    $message .= $message_txt;
    $message .= "\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: text/html;charset=\"iso-8859-1\"\n";
    $message .= "Content-Transfer-Encoding:quoted-printable\r\n\r\n";
    $message .= $message_html;
    $message .= "\n\n";
    $message .= "--" . $boundary . "--\n";
    
    mail('ak47@xyz.de, 'PHP Mail', $message, $headers);
    So, das funktioniert auch ganz prima, bis auf den Link den ich oben verschicke:
    aus http://www.domain.de/links.php3?sessionid=$sessionid&keyword=xyz wird nämlich http://www.domain.de/links.php3?sessionid $sessionid&keywordxyz
    Das heisst die "=" die ich zur Variablenzuordnung brauche verschwinden einfach.... Habe schon alles ausprobiert und finde auch nichts im Netz.

    Wisst Ihr einen Rat?

    ak47
    [/quote]

  • #2
    www.php.net/urldecode
    www.php.net/urlencode

    manche Sonderzeichen werden per $_GET leider nicht so gerne empfangen

    was ist das eigentlich für eine sessionid? das ist doch keine id mehr

    Kommentar


    • #3
      Ich sage Euch, ich habe alles probiert: rawurlencode, urlencode, ich habe statt den '=' die Hex, Oct und HTMLversion eingesetzt - nix. Alles funktioniert nicht.

      Das gibts doch nicht?!?

      Ich versende das übrigens nicht mit Post oder empfange mit Get. Ich baue eine Variable zusammen, die den HTML-Code enthält und den versende ich mit mail(). Meine Sessionid ist lediglich eine lange Aneinanerreihung von Zahlen die mittels Timestamp generiert wurde. Die kann ich auch weglassen. Das ändert nichts daran, dass das "=" sich einfach in Luft auflöst in meiner Email.

      ak47

      Kommentar


      • #4
        und wenn du mal \= schreibst? (zwar unwarscheinlich aber na ja )

        *keinplanmehrhat*

        Kommentar


        • #5
          Das einzige was klappt ist "==" dann nimmt er einmal "=" aber das kann keine echte Lösung sein...

          Kommentar


          • #6
            Code:
            $MailHTML .= '<Td align="right"><a href="http://www.domain.de/links.php3?sessionid='; 
            $MailHTML .= $sessionid.'&keyword='; 
            $MailHTML .= $searchstring.'">'; 
            $MailHTML .= $Link.'</a> </Td>\n';
            oder

            Code:
            $MailHTML .= "<Td align='right'><a href='http://www.domain.de/links.php3?sessionid{=}"; 
            $MailHTML .= $sessionid."&keyword{=}"; 
            $MailHTML .= $searchstring."'>"; 
            $MailHTML .= $Link."</a> </Td>\n";

            Kommentar


            • #7
              Danke für den Tipp, jetzt bekomme ich im Mailclient folgenden Link angezeigt:
              Code:
              http://www.domain.de/links.php3?sessionid{=06654e70845b5692c12b8a04f4224fd&keyword{=00261'
              er verschluckt nach dem "=" die Klammer zu "}" und noch den nächsten Buchstaben oder Zahl.

              Vielleicht liegt der Fehler darin, dass ich einer Variablen Sonderzeichen zuweise? Habe auch schon "\"in Kombination mit stripcslash() ausprobiert.

              No way......

              ak47

              Kommentar


              • #8
                welche php-vesion benutzt du?

                http://ztk.no-ip.org/test

                php 4.3.7 ...

                Kommentar


                • #9
                  Aktuelle PHP-Version: 4.3.5

                  Kommentar


                  • #10
                    hmm... weiß jetzt nicht ob es da einen derartigen bug gibt probier es mal mit 437 bei mir gehts ja oder ist das nur wenn du eine email sendest?

                    Kommentar


                    • #11
                      Ich habe eine Output-datei die ich mit Echo anzeige, da funktionieren die Links auch wunderbar, nur nicht in der Email die ich gesendet habe.

                      Gruss & Dank Dir
                      ak47

                      Kommentar


                      • #12
                        Re: HTML-Email mit Link

                        Zitat von ak47
                        Das heisst die "=" die ich zur Variablenzuordnung brauche verschwinden einfach.... Habe schon alles ausprobiert und finde auch nichts im Netz.
                        Bei quoted-printable dient das = als Kennzeichen, daß eine HEXzahl folgt.

                        Kommentar


                        • #13
                          da hat meikel aber recht *doh

                          Kommentar


                          • #14
                            Das Problem des OP ist, daß er den HTML Text auch mit quoted-printable encoden muß, wenn er als Content-Transfer-Encoding quoted-printable angibt.

                            Ich würde das nehmen:
                            http://pear.php.net/manual/en/packag...me.example.php

                            Kommentar


                            • #15
                              Das hört sich gut an, prinzipiell muss ich dann nur nach dem "=" ein %3d anschliessen (ist wohl nicht die feine Art).
                              Ich teste nächste Woche gleich mal die mime.example.php von meikel


                              Erst mal vielen Dank Euch Beiden.
                              Gruss ak47
                              Bei quoted-printable dient das = als Kennzeichen, daß eine HEXzahl folgt.
                              - da muss man erst mal draufkommen.....

                              Kommentar

                              Lädt...
                              X