• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

HTML Mail fopen *.png

Seyonne

Mitglied
Folgende Fehlermeldung:
Warning: fread() [function.fread]: Length parameter must be greater than 0 in /is/htdocs/numquam/register.php on line 186

Das Script funktioniert auf anderen Seiten ohne Probleme.
Das Script kommt leicht modifiziert (Empfänger+Content) mehrfach vor. Die Grafik ist immer die gleiche.
Bei den anderen Mails gibt es diese Warnung nicht.

Vllt wieder der böse Wald und die lieben Bäume?

Die logo_12small.png existiert und ist nicht leer.
PHP:
// Zugang validieren
 $sql =  "UPDATE nruser SET uvalid='1' WHERE uid='$valid'";
 if(mysql_query($sql, $conn))
 {
  echo "<br><br>Der Zugang wurde validiert.<br>Nach erfolgreicher Best&auml;tigung durch <b>Numquam Retrum</b> erhalten Sie die Zugangsdaten per Email.</div>";
  
  $sql5 = "SELECT umail, uname FROM nruser WHERE uid = '$valid'"; 
  $result5 =  mysql_query($sql5,$conn);
  $row5 =  mysql_fetch_array($result5,MYSQL_ASSOC);  
  //Mail an Admin
  $ImageLocation2 = "pics/logo_12small.png";
  $ImgName2 = "logo_12small.png";
  /* Um eine HTML-Mail zu senden, können Sie den den "Content-type"-Header setzen */ 
  $headers2  = "MIME-Version: 1.0\r\n"; 
  $headers2 .= "Content-type: text/html; charset=iso-8859-1\r\n";
   
  $CID2 = md5(uniqid (rand(), 1));
  $mime_boundary2 = "" . md5(uniqid(mt_rand(), 1));  
  $headers2 .= "Content-Type: multipart/related; boundary=\"".$mime_boundary2."\"; type=\"text/plain\"\n"; 
  $MailBody2 = "--".$mime_boundary2."\n";
  $MailBody2.= "Content-Type: Text/HTML; charset=iso-8859-1$EOL";  
  $MailBody2.= "Content-Transfer-Encoding: quoted-printable\n\n";  
  /* zusätzliche Header */ 
  $headers2 .= "From: Numquam Retrum <[email protected]>\r\n"; 
  $mailbetreff2 = "Registrierung von ".$row5['uname']." bei ".$_SERVER['HTTP_HOST'];
  $mailnachricht2 .= "<br><a href='http://www.numquam-retrum.de'><img src='cid:$CID2.$ImgName2'></a><br>" . 
         "<br><br>Diese Email wurde durch www.numquam-retrum.de automatisiert erstellt.<br>Bitte antworten Sie nicht auf diese Email und Emailadresse.<br><br>";
  $empfaenger2 = "[email protected]";
  $mailnachricht2 .= "<b>Admin Kopie</b><br>F&uuml;r die angegebene Emailadresse wurde ein Zugang registriert.<br>Um die Registrierung des Nutzers zu validieren <a href=\"www.numquam-retrum.de/register.php?unlock=$valid\">Klicken Sie bitte HIER</a>.<br><br>".
         "<table>".
         "<tr><td width=\"50%\">Username:</td><td width=\"50%\">" . $row5['uname'] . "</td></tr>" .
         "<tr><td width=\"50%\">eMail:</td><td width=\"50%\">" . $row5['umail'] . "</td></tr>" .
         "</table><br><br>";
  //Email and Nutzer versenden
  $MailBody2 .= $mailnachricht2;
  $MailBody2.= "\n\n";
  $MailBody2.= "--".$mime_boundary2."\n<br><br>";  
  $fp2 = fopen ($ImageLocation2, "rb");
  $str2 = fread ($fp2, filesize ($ImageLocation2));
  $data2 = chunk_split(base64_encode($str2));
  $content2.= "Content-Type: image/png\n";
  $content2.= "Content-ID: <$CID2.$ImgName2>\n";
  $content2.= "Content-Transfer-Encoding: base64\n";
  $content2.= "Content-Disposition: inline; filename=\"$ImgName2\"\n\n";  
  $content2.= $data2;
  $MailBody2.= $content2;
  // HIER DIE EMPFÄNGER EMAIL-ADRESSE ANPASSEN!!!        
  if(mail($empfaenger2, $mailbetreff2, $MailBody2, $headers2))  /// ---- Zeile 186 ----
  {
   echo "";
  }
 }

PHP:
echo mysql_errno(); // Liefert: 0
 
Zuletzt bearbeitet:
Werbung:
Zuerst machst du

$headers2 .= "Content-type: text/html; charset=iso-8859-1\r\n";

und ein paar Zeilen später

$headers2 .= "Content-Type: multipart/related; boundary=\"".$mime_boundary2."\"; type=\"text/plain\"\n";

Und dann machst du in $MailBody2 nochmal einen anderen Content-Type rein.
Da kennt sich der beste Server nicht mehr aus und jeder Server, der das nicht vollkommen ungeprüft annimmt, wird dir einen Error ausspucken.
 
Oh is gestern am späten Abend sehr konfus geworden. thx für den Hinweis.

Es lag anscheinend an ner includeten Datei.
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben