Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/09/2011, 06:41
lolimaestre
 
Fecha de Ingreso: septiembre-2011
Ubicación: Madrid
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Problema con mi correo

Hola a todos;
Lo primero decir que mis conocimientos en esto son muy básicos aunque hasta ahora no he tenido ningún problema a la hora de crear una web y subirla. He creado un carrito de compra con website x5 y lo he subido vía FTP con byethost, el problema que cuando se realiza una compra debería mandar un email tanto al comprador como al vendedor y no lo manda no sé donde estará el problema, en el website tengo un archivo imemail, os lo pongo para que lo veáis, a ver si algún alma caritativa me puede ayudar, no se si abra algo mal y es lo que me está dando problema, aunque no sé si será el hosting que no sea compatible???

Código:
<?php
  //Incomedia WebSite X5 EMail Class. All rights reserved.

	//true = force the user email address to be set as the sender
  $imForceSender = false;
  
	class imEMail {
		var $from;
		var $to;
		var $subject;
		var $charset;
		var $text;
		var $html;
		
		var $attachments;
		
		function imEMail($from,$to,$subject,$charset) {
			$this->from = $from;
			$this->to = $to;
			$this->subject = $subject;
			$this->charset = $charset;
		}
		
		function setFrom($from) {
			$this->from = $from;
		}
		
		function setTo($to) {
			$this->to = $to;
		}
		
		function setSubject($subject) {
			$this->subject = $subject;
		}
		
		function setCharset($charset) {
			$this->charset = $charset;
		}
		
		function setText($text) {
			$this->text = $text;
		}
		
		function setHTML($html) {
			$this->html = $html;
		}
		
		function attachFile($name,$content,$mime_type) {
			$attachment['name'] = $name;
			$attachment['content'] = base64_encode($content);
			$attachment['mime_type'] = $mime_type;
			$this->attachments[] = $attachment;
		}
		
		function send() {
			$headers = "";
			$msg = "";

			if($this->from == "" || $this->to == "" || ($this->text == "" && $this->html == ""))
				return false;
			
			$boundary = md5(time());
			
			$headers .= "From: " . $this->from . "\n";
			$headers .= "Message-ID: <" . time() . rand(0,9) . rand(0,9) . "@websitex5.users>\n";
			$headers .= "X-Mailer: WebSiteX5 Mailer\n";
			$headers .= "MIME-Version: 1.0\n";

			if(is_array($this->attachments)) {
				$headers .= "Content-Type: multipart/mixed; boundary=\"" . $boundary . "\"\n\n";
				$headers .= "--" . $boundary . "\n";
			}
			
			if($this->html == "") {
				$headers .= "Content-Type: text/plain; charset=" . $this->charset . "\n";
				$headers .= "Content-Transfer-Encoding: 8bit\n";
				$msg .= $this->text . "\n\n";
			}
			else if($this->text == "") {
				$headers .= "Content-Type: text/html; charset=" . $this->charset . "\n";
				$headers .= "Content-Transfer-Encoding: 8bit\n";
				$msg .= $this->html . "\n\n";
			}
			else {
				$alt_boundary = $boundary . "_alt";
				$headers .= "Content-Type: multipart/alternative; boundary=\"" . $alt_boundary . "\"\n";
				
				$msg .= "--" . $alt_boundary . "\n";
				$msg .= "Content-Type: text/plain; charset=" . $this->charset . "\n";
				$msg .= "Content-Transfer-Encoding: 7bit\n\n";
				$msg .= $this->text . "\n\n";
				
				$msg .= "--" . $alt_boundary . "\n";
			  $msg .= "Content-Type: text/html; charset=" . $this->charset . "\n";
				$msg .= "Content-Transfer-Encoding: 7bit\n\n";
				$msg .= $this->html . "\n\n";
				
				$msg .= "--" . $alt_boundary . "--\n\n";
			}
			
			if(is_array($this->attachments)) {
				foreach($this->attachments as $attachment) {
					$msg .= "--" . $boundary . "\n";
					$msg .= "Content-Type: " . $attachment["mime_type"] . "; name=\"" . $attachment["name"] . "\"\n";
					$msg .= "Content-Transfer-Encoding: base64\n";
					$msg .= "Content-Disposition: attachment; filename=\"" . $attachment["name"] . "\"\n\n";
					$msg .= chunk_split($attachment["content"]) . "\n\n";
				}
			
				$msg .= "--" . $boundary . "--\n\n";
			}
			
			$r = @mail($this->to, $this->subject, $msg, $headers, "-f" . $this->from);
			if(!$r) {
				$headers = "To: " . $this->to . "\n" . $headers;
				$r = @mail($this->to, $this->subject, $msg, $headers);
			}
			return $r;
		}
	}
?>
Muchas Gracias de antemano