Foros del Web » Programando para Internet » PHP »

Problema con mi correo

Estas en el tema de Problema con mi correo en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/09/2011, 06:41
 
Fecha de Ingreso: septiembre-2011
Ubicación: Madrid
Mensajes: 8
Antigüedad: 12 años, 6 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
  #2 (permalink)  
Antiguo 16/09/2011, 07:04
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Problema con mi correo

Usa la función mail de php

http://php.net/manual/es/function.mail.php

Salu2
__________________
No hay mail que por internet no venga
  #3 (permalink)  
Antiguo 16/09/2011, 13:05
 
Fecha de Ingreso: septiembre-2011
Ubicación: Madrid
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problema con mi correo

Lo primero muchas gracias Cosmo por contestarme pero la verdad que como ya he comentado no tengo muchos conocimientos en esto, el enlace que me has mandado me suena un poco a chino, me podrías decir si el archivo que he puesto está bien o tiene algún fallo porfa, y si es así como lo podría solucionar.
Muchas gracias
  #4 (permalink)  
Antiguo 16/09/2011, 14:23
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 6 meses
Puntos: 297
Respuesta: Problema con mi correo

La mejor opciones si quieres enviar correo es PHPMailer, te quitarás muchos problemas y podrás utilizar (si quieres), tu cuenta de gmail, hotmail, yahoo, etc.

Etiquetas: correo, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:02.