Wie kommen komische Zeichen (hier Punkt in Domain) in per phpMailer verschickte Mail?

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

  • Wie kommen komische Zeichen (hier Punkt in Domain) in per phpMailer verschickte Mail?

    Hallo,

    das Mailen über den phpMailer funktioniert zwar schon mal wunderbar

    (s. http://www.php-resource.de/forum/sho...973#post418973
    ),

    aus irgendeinem Grund bekomme ich jedoch auch über diese Methode komische Zeichen in meinen Mail-Text reingesetzt. Allerdings sehr dezent, dafür aber an entscheidender Stelle.
    In diesem Fall wurde der Punkt in einer URL

    www.domain

    verdoppelt -> www..domain

    und der Link damit natürlich ungültig.

    Woher kann so was kommen? Im Quellcode steht da natürlich nur ein Punkt. Macht das der sendmail absichtlich, um sich vor Missbrauch zu schützen?
    Wenn Code gebraucht wird, kein Problem.

    Gruß - elgockel

  • #2
    Mailer interessieren sich nur für Punkte, wenn sie am Anfang einer Zeile stehen. In diesem Fall wird der Zeile ein weiterer Punkt vorangestellt, der vom empfangenden MTA aber wieder entfernt wird. Das ist nötig, weil bereits im ARPANET das Ende einer Mailübertragung durch einen einzelnen Punkt in einer Zeile markiert wurde und man das aus Kompatibilitätsgründen nie losgeworden ist. (RFC 821)

    Wenn du sicherstellen kannst, dass vor dem Punkt in www.domain kein Zeilenumbruch steht, würde ich sendmail erstmal ausschließen und um etwas Code bitten.
    Zuletzt geändert von onemorenerd; 01.02.2006, 00:27.

    Kommentar


    • #3
      Hallo, der Body-String für den phpMailer:

      PHP-Code:
      $mail->Body =
                   
      "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">".
                   
      "<HTML>".
                   
      "<HEAD>".
                   
      "    <TITLE>astrosuche.net - Neuer Userkommentar abgegeben!</TITLE>".
                   
      "<style type=\"text/css\">".
                   
      " body, table { font-family:Arial; font-size:11pt; }".
                   
      "  a:link { text-decoration:none; font-weight:normal; color:#0000bb; } a:visited { text-decoration:none; font-weight:normal; color:#0000bb; }".
                   
      "  a:hover { text-decoration:none; font-weight:normal; color:#0000ff; } a:active { text-decoration:none; font-weight:normal; color:#0000ff; }".
                   
      "  a:focus { text-decoration:none; font-weight:normal; color:#0000ff; }".
                   
      " .kleinschrift { font-size:9pt; }".
                   
      "</style>".
                   
      "</HEAD>".
                   
      "<BODY bgcolor=\"#00336d\" background=\"http://217.160.138.166/Horoskopedatenbank/grafik/bg.gif\" text=\"#000000\">".
                   
      "<br><center><table bgcolor=\"#ffffff\" border=\"1\" width=\"90%\" cellpadding=\"0\" cellspacing=\"0\">".
                   
      "<tr><td valign=\"middle\" style=\"padding-top:40px;padding:10px;\"><br>" .
                  
                   
      "Hallo Peter,<br><br><br>ein User hat einen Kommentar zur Ver&ouml;ffentlichung in der Datenbank vorgeschlagen.<br>" .
                   
      "<p align=\"center\">".
                   
      "<a href=\"http://www.astrologiezentrum.de/astrosuche.net/alle_daten.php?id=" $row->ID "\">der Datensatz, auf den sich der vorgeschlagene Kommentar bezieht</a>" .
                   
      "<p align=\"left\"><br>".
                   
      "<b>Der vorgeschlagene Kommentar:</b><br><br>" .
                   
      "<center><table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#ffffee\"><tr><td style=\"padding:12px;padding-top:13px;padding-bottom:13px;\">" .
                   
      $kommentar .
                   
      "</td></tr></table></center><br><br>" .
                   
      "<b>Name des Kommentators:</b><br>" htmlentities ($row->user) . "<br><br>".
                   
      "<b>Email-Adresse des Kommentators</b>:<br>" htmlentities ($row->email) . "<br><br><br>".
                   
      "<table border=\"0\" width=\"100%\" cellpadding=\"1\" cellspacing=\"0\" bgcolor=\"#888888\"><tr><td align=\"center\">" .
                   
      "<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#f8f8f8\"><tr><td align=\"center\" style=\"padding-top:15px;padding-bottom:15px;\">" .
                   
      "Deine Entscheidung?<br><br>".
                   
      "<a href=\"http://www.astrologiezentrum.de/astrosuche.net/kommentar_freigeben.php?ps=" $ps "&amp;pk=" $row->pruefer_randomnumber "\">&gt;&nbsp;Kommentar freigeben&nbsp;&lt;</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" .
                   
      "<a href=\"mailto:" $row->email "?subject=Ihr Kommentarvorschlag f" chr(252) . "r astrosuche.net\">&gt;&nbsp;mit Kommentator Kontakt aufnehmen&nbsp;&lt;</a>" .
                   
      "</td></tr></table>".
                   
      "</td></tr></table>".
                   
      "<br><br><br>".
                   
      "<div class=\"kleinschrift\">".
                   
      "<b>Zeitpunkt der Absendung:</b> " $row->zeitpunkt "<br>" 
                   
      "<b>IP:</b> " $row->ip "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" .
                   
      "<b>Host:</b> " $row->host "<br><br>" .
                   
      "</div>".
                   
      "</td></tr></table></center><br>".
                   
      "</BODY>".
                   
      "</HTML>"
      Die Mail wird nun mal als HTML gewünscht, außerdem gibt es wie gesagt noch mehrere solcher Mailversandstellen, an denen Mails sogar nach draußen (die hier geht ja an den Projektleiter) gehen , sodass HTML insgesamt angebracht ist.

      Wichtiger Hinweis:
      Der Punkt wird nur manchmal eingebaut.

      Statistik:
      Es hat sieben mal gut funktioniert. Beim achten Mal wurde erst in so eine Mail an genannter Stelle der Punkt eingebaut.

      Ciao!
      Gruselgockel

      Kommentar


      • #4
        Brich bitte deinen Code gemäß den Forumsregeln so um, daß man nicht mehr nach rechts scrollen muß. Danke.

        Ich sehe bei dir nirgendwo einen Zeilenumbruch. RFC821 verlangt aber ausdrücklich, dass eine Zeile inklusive des \r\n nicht länger als 1000 Byte sein darf (den verdoppelten Punkt nicht mitgezählt). Wenn deine Mail länger ist, wird sie vom MTA womöglich verändert. Er fügt Zeilenumbrüche ein, wodurch eventuell der Punkt an den Anfang einer Zeile gerät und verdoppelt wird.
        Alles sehr wage, denn die Mail scheint sehr statisch zu sein, also wenn schon, sollte immer umgebrochen werden. Außerdem müßte dann noch ein "kaputter" Mailer das letzte Glied in der SMTP-Kette sein, der den doppelten Punkt nicht wieder entfernt.

        http://www.faqs.org/rfcs/rfc821.html


        P.S.: Wer sich Mails unbedingt in HTML wünscht, gehört nochmal gründlich beraten.

        Kommentar


        • #5
          Original geschrieben von onemorenerd
          P.S.: Wer sich Mails unbedingt in HTML wünscht, gehört nochmal gründlich beraten.
          OffTopic:
          Nein, der ist vermutlich selber "Berater", und damit gegen vernünftige Argumente immun.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar

          Lädt...
          X