Hier taucht ein " ! " auf

huwet

Grünschnabel
Hallo ihr da draussen!

Ich habe einen Autoresponder erstellt. Das heißt ich überprüfe ob sich im Postfach Mails befinden oder nicht. Sind Mails im Postfach so werden diese Automatisch Generierte Mails zurückgeschickt.

Nun zu meinen Problem: Im Text der Email erscheint ein " ! ". Dieses Zeichen habe ich aber nirgens eingegeben.

Gibt es eine Begrenzung für den Inhalt von HTML-Mails oder weis einer wie man das Problem lösen kann?

Gruß

Huwet
 
Na gut ;)

PHP:
include( "../../webcontent.php" );
	include( "pop3.php" );
	$anhang = "Gewinnspiel10_04.pdf";// diese Datei wird mit der Mail verschickt
	$name = "gewinnspiel.pdf"; // hier kann der Dateinamen geändert werden
	

		$server = "IP";
		$kunde = "NAME";
		
		$pop3 = new POP3();
		if(!$pop3->connect($server,110))	{
	       		echo "Ooops $pop->ERROR <BR>\n";
	           	exit;
	   	}
		
		$login = LOGIN;
	   	$pass = PASSWORT;
		
		echo "Verbindung zum Server: $server aufgenommen<br><br>";
		
	   	$Count = $pop3->login($login,$pass);
		if( (!$Count) or ($Count == -1) )	{
    		echo "keine neuen mails für $login<br><br>";
    		$pop3->quit();
			}
		else {
			echo "Login Benutzer $login ok.<br>";
			$Count++;
			for($i=1;$i<$Count;$i++){
			
			$MsgOne = $pop3->get($i);
		    if( (!$MsgOne) or (gettype($MsgOne) != "array") )
		    {
		        echo "oops, $pop3->ERROR<BR>\n";
		        exit;
		    }
			$ismailbody = false;
			$contentType = "";
			$ishtml = false;
		
		    while ( list ( $lineNum,$line ) = each ($MsgOne) )
		    {
				if (fms($line,"Subject:") 		&& !$subject) {
					
				$subject = fms($line,"Subject:");
					if (fms($subject,"=?iso-8859-1")){
						if (fms($subject,"?B?")){
							$subject = fms($subject,"=?iso-8859-1?B");
							$subject = base64_encode($subject);
						}
						if (fms($subject,"?Q?")){
							$subject = fms($subject,"=?iso-8859-1?Q");
						}
					$subject = quoted_printable_decode($subject);
					$subject = str_replace ( "_", " ", $subject);
					$subject = trim($subject);
					$subject = substr($subject,0, -1);
					}
				}
				if (fms($line,"Date:") 			&& !$datum) 			$datum = fms($line,"Date:");
				if (fms($line,"Return-Path:") 	&& !$von) 				$von = fms($line,"Return-Path:");
				if (fms($line,"To:") 			&& !$to) 				$to = fms($line,"To:");
				if (fms($line,"Cc:") 			&& !$cc) 				$cc = fms($line,"Cc:");
				if (fms($line,"X-Priority:") 	&& !$priority){
					$priority = fms($line,"X-Priority:");
					if (strstr($priority,'1')) 		$priority = "1"; //hoch
					else if (strstr($priority,'2')) $priority = "1"; //hoch
					else if (strstr($priority,'3')) $priority = "3"; //mittel
					else if (strstr($priority,'4')) $priority = "5"; //niedrig
					else if (strstr($priority,'5')) $priority = "5"; //niedrig
				}
				
				
				if ($line == "\r\n" || $ismailbody){
					$writetobody=true;
					if ($line == "\r\n" && $contentType == "") $writetobody=false;
					if (fms($line,"multi-part")) $writetobody=false;
					if (fms($line,"---=")) $writetobody=false;
					if (fms($line,"Content-Type")) $writetobody=false;
					if (fms($line,"charset=")) $writetobody=false;
					if (fms($line,"Transfer-Encoding")) $writetobody=false;
					if (fms($line,"Content-Disposition: attachment")) break;
					if (fms($line,"Boundary")) $writetobody=false;
					if (fms($line,"--=====")) $writetobody=false;
					if (fms($line,"x-mac")) $writetobody=false;
					if (fms($line,"doctype")) $writetobody=false;
					if (fms($line,"<HTML>") && $contentType=="") $ishtml=true;
					if (fms($line,"<HTML>") && $contentType=="text") break;
					if ($writetobody && $ishtml){
					$body .= $line;
				}
				if ($writetobody && !$ishtml){
					$body .= $line;
		
					$contentType = "text";
				}
				$ismailbody = true;
				}	
			}
		
			$alist = fm_get_att($MsgOne);
			$body = $body . $alist;
			$body = quoted_printable_decode($body);
			
			if ($ishtml) {
			$body = strip_tags($body);
			}
			
			if (!$priority) $priority = 3;
			$datum = date("YmdHis", strtotime($datum));
			$von = rb($von);
			$to = rb($to);
			$cc = rb($cc);
			$subject = rb($subject);
			echo"Daten der $i. email ausgelesen<br>";
			// erzeugt den Anhang und Codiert diesen
			$pdf=fopen($anhang, r);
			$groesse=filesize($anhang);
			$pdf_datei=fread($pdf,$groesse);
			$pdf_email=chunk_split(base64_encode($pdf_datei));
			fclose($pdf);
			
			// erzeugen der Mail Nachricht
			$empfaenger = $von;
      $rechtsweg = "Rechtsweg";
			$absender = "gewinnspiel@+++.de";
			$betreff = "Gewinnspiel";
			$nachricht = "<font face='Arial'>Lieber Gewinnspiel-Teilnehmer,<br>"
						 ."<br>"
						 ."dies ist eine automatisch erzeugte E-Mail. Im Anhang finden Sie die Teilnahmekarte am Gewinnspiel als pdf-Datei, welche Sie mit dem Acrobat Reader* öffnen können.<br>"
						 ."<br>"
						 ."Bitte werfen Sie die Teilnahmekarte während der Messeveranstaltung in die bereitgestellte Gewinn-Box am Stand vom  in der Messehalle ein oder senden Sie die Teilnahmekarte an folgende Adresse: . Postalisch eingesandte Teilnahmekarten müssen bis zum 15.10.2004 20.00 Uhr eingegangen sein.<br>"
             ."<br>"
						 ."Die Verlosung findet jeden Messetag (bis 17.10.04) jeweils gegen 17.30 Uhr statt. Die Teilnahme an den Verlosungen ist nicht an einen Messebesuch gebunden, da auch bis 15.10.04 postalisch zugesandte Karten am Gewinnspiel teilnehmen können. Nicht anwesende Gewinner werden schriftlich benachrichtigt und erhalten Ihren Gewinn zugesandt. Der Rechtsweg ist ausgeschlossen.<br>"
						 ."<br>"
						 ."Weitere Infos zur neuen Messe in München erhalten Sie unter <a href='http://www.+++.de'>www.+++.de</a><br>"
						 ."<br>"
						 ."<br>"
						 ."Viel Glück wünscht Ihr<br>"
						 ."<br>"
						 ."<br>" 
						 ."Veranstaltungsteam<br>"
						 ."<br>"
						 ."<br>"
						 ."<br>"
						 ."<br>"
						 ."* Download unter: <a href='http://www.adobe.de/products/acrobat/readstep2.html'>www.adobe.de/products/acrobat/readstep2.html</a></font>";      
      
					 
						 
						 
						 
						 
						 
						 
			$kopf = "MIME-Version: 1.0\r\n"
					."Content-Type:multipart/mixed; boundary=\"BOUND\"\r\n"
					//."Content-Type:multipart/parallel; boundary=\"BOUND\"\r\n"
					."FROM: $absender";
					
			$body = "\r\n"
					
					."--BOUND\r\n"
					."Content-Type: text/html; charset=iso-8859-1\r\n"
					//."Content-Disposition:inline\r\n"
					."Content-Transfer-Encoding: 7bit\r\n"
					//."Content-Transfer-Encoding: quoted-printable \r\n"
					."\r\n"
					."$nachricht\r\n"
					."\r\n"
			
					."--BOUND\r\n"
					."Content-Type: application/pdf; name=$name\r\n"
					//."Content-Description:\"Gewinnspieldatei\"\r\n"
					."Content-Transfer-Encoding:base64\r\n"
					//."Content-Transfer-Encoding: quoted-printable \r\n"
					."Content-Disposition: attachment; filename=$name\r\n"
					."\r\n"
					."$pdf_email\r\n"
					."\r\n"
					."--BOUND\r\n";
			
			// setzt die Nachricht zusammen
			
			mail($empfaenger, $betreff ,$body, $kopf );
			if(mail){echo"Mail wurde verschickt!\r\n";}else{echo"Mail konnte nicht verschickt werden!\r\n";}
			$body = "";
			$priority = "";
			$teststring= "";
			$subject = "";
			$datum = "";
			$von = "";
			$to = "";
			$cc = "";
		
			 if(!$pop3->delete($i))
		    {
		        echo "oops $pop3->ERROR <BR>\n";
		        $pop3->reset();
		        exit;
		    } else {
		        echo "$i. Nachricht geloescht<BR>\n";
		    }	
		
		}	
		
		
		$pop3->quit();
		}

// Functionen

	function fms ($l,$t) {
		if(stristr($l,$t)) $temp=substr($l, strlen($t)+1,strlen($l));
		return $temp;
	}
	
	
	function rb($string) {
		return strtr($string, "\r\n", "  ");
	}
	
	function fm_get_att($MsgOne) {
		$alist="";
		while ( list ( $lineNum,$line ) = each ($MsgOne) )
		{
			if (fms($line,"filename=")){
			$temp = trim($line);
			$temp = fms($temp,"filename=");
			$temp = str_replace ( "\"", "", $temp);
			$alist .= $temp . "\r\n";
			}
		}
		if ($alist != "") $alist = "\r\nDateianhänge:\r\n".$alist;
		return $alist;
	}

[Johannes Roettger]PHP- oder Code-Tags verwenden... :p[/Johannes Roettger]
 
Moin,

in dem Code kann ich so auf Anhieb keine Fehler und Zeichen entdecken, die da nicht auch hingehören... In den inkludierten Dateien sind auch nicht zu viele Ausrufezeichen ;) ? An welcher Stelle im Text taucht das Ausrufezeicheneinseinself denn auf ?

Gruß thing
 
Hallo,

hat sich erledigt. Ich habe das ganze auf einem anderem Server ausprobiert und siehe da kein "!" zu sehen. Ich schätze mal es liegt an der PHP oder Sendmail version oder in der Server Einstellungen und da kann ich leider nicht ran.

Schönen dank an alle für die Hilfe

Gruß

Huwet
 
Zurück