Link in einer email benutzen

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

  • Link in einer email benutzen

    PHP-Code:
    /**
    *
    * @version 1.0
    */
    class email
    {
        
    /**    
        * @var string
        */
        
    var $charset "ISO-8859-1";
        
        
    /**    
        * @var string
        */    
        
    var $_header "";
        
        
    /**    
        * @var string
        */    
        
    var $empfaenger "";
        
        
    /**    
        * @var string
        */      
        
    var $subject "";
        
        
    /**    
        * @var string
        */      
        
    var $message "";    
        
        
    /**
        * @access public
        * @param string
        */
        
    function SetCharset($wert)
        {
            
    $this->charset $wert;
        } 
        
        
    /**
        * @access public
        * @param string [Email Addresse Empfänger]
        */     
        
    function to($wert)
        {
            
    $this->empfaenger $wert;
        }
        
        
    /**
        * @access public
        * @param string [Betreff]
        */     
        
    function subject($wert)
        {
            
    $this->subject $wert;
        }
        
            
        
    /**
        * @access public
        * @param string [Email Addresse Absender]
        * @param string [Den Namen, optional]
        * @param bool [text / html]
        */    
        
    function from($email$name ""$html false)
        {
            if (
    $html) {
                
    $this->_header .= "MIME-Version: 1.0\r\n";
                
    $this->_header .= "Content-type: text/html; ".$this->charset."\r\n";             
            }
            
    $this->_header .= $name != "" "From: ".$name."<".$email.">\r\n" "From: ".$email."\r\n";       
        }     
        
        
    /**
        * @access public
        * @return bool [Ob die email geschickt wurde]
        */      
        
    function ToSend()
        {
            return 
    mail($this->empfaenger$this->subject$this->message$this->_header);
        }    

    Wenn ich mit der class eine text oder html mail schicke funktioniert alles.
    Nur wenn ich einen Link in der HTML mail einsetzte und ihn aufrufen
    möchte, denn sind da noch Zeichen wie %5C%22http%3A
    So das der Link nicht funktioniert. Was müßte ich da noch ändern?
    Gut geraten ist halb gewußt.

  • #2
    Du postest alles, aber den relevanten Teil, in dem die message verarbeitet wird, lässt du natürlich aus... *move* nach PHP

    Kommentar


    • #3
      Ohh man, du hast mich verschoben
      und ich wußte nicht wo mein Thema hin ist.
      Hab es ebend erst durch zufall über google gefunden.

      Ja also als Beispiel:
      PHP-Code:
      // Als Beispiel
      $_POST['text'] = "
          <html>
          <head>
              <title>title...</title>
              <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />
          </head>
          <body>
          
          Wenn sie keine weiteren emails mehr erhalten wollen, benutzen Sie bitte diesen Link
          <a href=\"http://www.MeineSeite.de/mail.php?id=345698656\">Ich möchte keine Emails mehr erhalten</a>    
              
          </body>    
          </html>"
      ;

      // So benutze ich die class
      $ObjEmail = new email();    

      $ObjEmail->to($_POST['empfaenger']);

      $ObjEmail->subject($_POST['betreff']);

      $ObjEmail->message($_POST['text']);

      $ObjEmail->from($_POST['absender'], ""true);

      if (
      $ObjEmail->ToSend())
      {     
          
      // bla bla, Ihre Email wurde versendet....
          
          
      header("Location: ".$_SERVER['PHPSELF']."?versendet");
          exit; 

      Aber der Link in der email funktionieren nicht. Warum?
      Gut geraten ist halb gewußt.

      Kommentar


      • #4
        ich tippe mal blind aufs character encoding der mail.

        Kommentar


        • #5
          Also liegt es an dieser function?
          PHP-Code:
              function from($email$name ""$html false)
              {
                  if (
          $html) {
                      
          $this->_header .= "MIME-Version: 1.0\r\n";
                      
          $this->_header .= "Content-type: text/html; ".$this->charset."\r\n";             
                  }
                  
          $this->_header .= $name != "" "From: ".$name."<".$email.">\r\n" "From: ".$email."\r\n";       
              } 
          Was muß ich denn machen das der Link geht?
          Zuletzt geändert von martinm79; 30.08.2006, 17:26.
          Gut geraten ist halb gewußt.

          Kommentar


          • #6
            guck doch einfach mal, was deine mail zu dem thema sagt.

            ich seh grad, dass die daten aus nem formular kommen. hast du da mal testausgaben gemacht?

            schau dir auch mal die funktion message() an. ob die den string verändert.

            Kommentar


            • #7
              Ja, ich lass mir ja die Postwerte anzeigen, wenn die mail geschickt wurde.
              Und da geht ja der link.
              Wenn die mail ankommt, ist ja auch ein link vorhanden, aber wenn ich ihn drücke, dann wird er nicht an diese Domain geschickt, sondern ich muß mich denn neu bei meinem provider einloggen und bleibe denn auch da.
              Bei anderen emails die man so bekommt wird man ja immer an die jeweilige domain geschickt.
              Hat nicht jemand ein beispiel, wo es geht?
              Gut geraten ist halb gewußt.

              Kommentar


              • #8
                das bringt doch nichts.

                Kommentar


                • #9
                  Nach 3 oder 4 Tagen geht es endlich...
                  HTML müßte man können....

                  <a href="http://www.MeineSeite.de/mail.php?id=345698656">

                  ist falsch

                  richtig:

                  <a href=http://www.MeineSeite.de/mail.php?id=345698656>

                  und denn geht es.
                  Aber trotzdem danke.

                  Gut geraten ist halb gewußt.

                  Kommentar


                  • #10
                    Na, du hast ja ne seltsame auffassung von richtigen HTML, aber gut. Wahrscheinlich kannst DU die Mail jetzt anklicken und alle anderen nicht mehr...

                    Kommentar

                    Lädt...
                    X