Introducción a PHPMailer

Este artículo ya se encuentra obsoleto.
Para una referencia actual leer: Enviar email con PHP y evitar que sea marcado como SPAM

PHPMailer es una clase escrita en PHP que facilita el envío de correo, añadiendo facilidad en el envío de correos con adjuntos, en formato HTML y con diferentes codificaciones, soporte para imagenes embebidas, headers personalizados y además funciona con múltiples servidores de correo.

phpmailer.png

Típicamente para el envío de correo con PHP se utiliza la función mail(), pero esta función tiene varias limitaciones, por ejemplo que no soporta el envío de adjuntos. Entonces PHPMailer nos viene a facilitar este trabajo que de otra forma seria muy engorroso. Viene con un conjunto de métodos que nos ayudarán en el envió de emails.

Empezando

El primer paso es descargar PHPMailer, aquí encontraremos dos archivos: class.phpmailer.php el cual contiene las funciones para el envío de correo y class.smtp.php para enviar correo mediante servidores SMTP.

Creamos un nuevo documento PHP en donde incluimos la clase y luego creamos una instancia de la clase para utilizarla mas adelante.


Propiedades del Mensaje

El siguiente paso es asignar las propiedades del correo que vamos a enviar como el servidor de correo, subject y From. Luego con el método AddAddress asignamos a quien o quienes vamos a enviar el correo, también se puede utilizar AddCC y AddBCC para las copias y copias ocultas:

$mail->Host = "localhost";
$mail->From = "remite@email.com";
$mail->FromName = "Nombre del Remitente";
$mail->Subject = "Subject del correo";
$mail->AddAddress("destino1@correo.com","Nombre 01");
$mail->AddAddress("destino2@correo.com","Nombre 02"); 
$mail->AddCC("usuariocopia@correo.com");
$mail->AddBCC("usuariocopiaoculta@correo.com");

Cuerpo del Mensaje

Hasta aquí hemos utilizado las funciones básicas de correo, pero ahora viene la parte del cuerpo del mensaje. Podemos enviar correo en formato HTML e incluso definir un texto que se mostrará si es que el lector de correo no soporta HTML.

$body  = "Hola amigo
"; $body .= "probando PHPMailer.

"; $body .= "Saludos"; $mail->Body = $body; $mail->AltBody = "Hola amigo\nprobando PHPMailer\n\nSaludos";

Agregar Archivos Adjuntos

Ahora si deseamos añadir un archivo adjunto a nuestro mensaje utilizamos el método AddAttachment el cual recibe dos parámetros, el primero es la ruta del archivo que vamos a incluir y el segundo es el nombre que se va a mostrar en el correo para este archivo.

$mail->AddAttachment("images/foto.jpg", "foto.jpg");
$mail->AddAttachment("files/demo.zip", "demo.zip");

Finalizando

Finalmente el envío del correo se hace con la función send(). Entonces uniendo todas las partes de nuestro código tenemos:

require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->Host = "localhost";

$mail->From = "remite@email.com";
$mail->FromName = "Nombre del Remitente";
$mail->Subject = "Subject del correo";
$mail->AddAddress("destino1@correo.com","Nombre 01");
$mail->AddAddress("destino2@correo.com","Nombre 02"); 
$mail->AddCC("usuariocopia@correo.com");
$mail->AddBCC("usuariocopiaoculta@correo.com");

$body  = "Hola amigo
"; $body .= "probando PHPMailer.

"; $body .= "Saludos"; $mail->Body = $body; $mail->AltBody = "Hola amigo\nprobando PHPMailer\n\nSaludos"; $mail->AddAttachment("images/foto.jpg", "foto.jpg"); $mail->AddAttachment("files/demo.zip", "demo.zip"); $mail->Send();

Si probamos este mensaje obtendremos el siguiente resultado en nuestra cuenta de correo en el cual notamos el mensaje en HTML y los archivos adjuntos.

php-mailer.gif

Desde luego que hemos utilizado solo las funciones básicas, hay muchas más opciones con las cuales se puede personalizar completamente el mensaje que enviamos, puedes encontrar un referencia de estas opciones en: http://phpmailer.sourceforge.net/docs/. Finalmente les dejo los archivos de este ejemplo funcionando para que lo prueben.

Comentarios Total 207 comentarios

Seba
Publicado: 17/12/2009 3:48 pm

unijimpe me das una mano?

Seba
Publicado: 17/12/2009 11:04 pm

No quiero ser pesado pero por favor alguien

unijimpe
Publicado: 17/12/2009 11:13 pm

Seba, publica el error que te sale al probar el script, has copiado solo una parte por eso no puedo identificar el problema que tienes.

Claudia
Publicado: 09/01/2010 3:54 am

mira, utilizo muy bien phpomailer, pero solo envia bien a ciertos correos, pero a los de hotmail, yahoo o gmail, no envia…y algunos otros mas, solo me envia a los mismos dominios que yo tengo alojados en el mismo server al parecer, el error me dice k no fue entregado a ese recipient :SMTP Error: The following recipients failed: elcorreo@hotmail.com y asi con yahoo, gmail y algunos otros corporativos…ya puse los ultimos scripts de phpmailer y pues sigue marcando ese mismo error.

muchas gracias!!

Claudia
Publicado: 09/01/2010 6:09 am

bueno, ya solucione el problema de pork no enviaba a hotmail, yahoo, gmail, etc.. les dejo el link con el archivo comprimido para quienes tengan luego ese lio…espero lo utilzen bien y se los pasen a otras personas mas…

mi sistema maneja una mini aplicacionsita con base de datos, que guarda a donde se envio el correo, quien lo vio, quien lo rechazo y cual no se envio correctamente. igual anexo la estructura de la base de datos. Esta aplicacion envia boletines graficos (una imagen del tamaño que sale la que viene en el archivo) asi que luzcanse haciendo algo graficamente lindo.

el link para descargar esto es : http://www.lovemedia-studios.com/correos/phpmailer.zip

en la carpeta includes/ estan los archivos .php que hacen que funcione el envio (phpmailer, class.smtp), de igual forma esta el archivo conexion.php que ahi es donde configuraran para poder conectar a la base de datos y que ahi se almancen los correos a los que les han enviado y les quede como historico….

Agrego la estructura d ela base de datos tambien.

de igual forma esta aplicacion tiene acceso via login, usuario y contraseña…que se valida de la tabla usuarios y ahi pueden agregar via mysql mas usuarios y ponerles nivel menor acceso para que no les deje cambiar la imagen del boletin.

solo la primera vez es necesario remplazar la imagen, cuando se entra como administrador (dentro del boletin elegir el option button que dice Cambiar Esta Imagen) y ponerle ademas el link al que quieran que redireccione cuando el usuario o remitente lo vea…y accese, cabe mencionar que este sistemita permite que la imagen ya llegue descargada al remitente y no tener k darle descargar imagen en los lectores de correo electronico. :p

sustituyan en :

includes/

archivo phpmailer.php

solo cambiar lo siguiente : (servidor de correos y puerto)

public $Host = ‘mail.tudominio.com’;

/**
* Sets the default SMTP server port.
* @var int
*/
public $Port = 26;

cabe mencionar que el puerto por default es 25, pero hay servidores de hosting que emplean el 26.

en el archivo class.phpmailer.php (servidor de emails cambiar a tu dominio)

*/
public $Host = ‘mail.tudominio.com’;

y en el archivo class.smtp.php (solo el puerto ya sea 25 o 26)

class SMTP {
/**
* SMTP server port
* @var int
*/
public $SMTP_PORT = 26;

En el archivo conexio.php que esta dentro de includes/ ahi se cambiaran los datos para poder conectar a la base de datos.

en la base de datos se guarda tanto la imagen k kieres enviar como boletin como a los usuarios que has enviado correo. Claro este envia uno a uno pero si alguien lo hace o ajusta para enviar a varias direcciones ala vez…perfecto que me lo pase jeje

en el archivo index.php cambiar (puerto y servidor de correo que es tu dominio en este caso)

$mail->Port = 26;

$mail->Priority = 1;

$mail->Mailer = «smtp»;

//Asignamos a Host el nombre de nuestro servidor smtp
$mail->Host = «mail.tudominio.com»;

saludos: cualquier duda mi msn es: info@lovemedia-studios.com

Claudia - Nota sobre la solucion PHPMailer
Publicado: 09/01/2010 7:25 am

en caso que les marque error de que no puedo enviar a un determinado correo de hotmail.com, yahoo, etc..

entonces en el index donde viene la linea

//Asignamos a Host el nombre de nuestro servidor smtp
$mail->Host = “mail.tudominio.com”;

cambien el mail.tudominio.com por la IP que tenga su servidor de hosting y volá

:p

Saludines

Claudia - Solucion PHPMailer
Publicado: 11/01/2010 6:29 pm

Chicos, otro tip:

Si les marca luego de una cantidad de mas de 40 correos o 60 enviados el error de que no se puede enviar a un correo, prueben subiendo el Timeout a 200 y usando una validacion de intentos…mas tarde subo la version que corrige ese bug que tiene el phpmailer.

Besitos!

Mauricio Moo Aguilar
Publicado: 20/02/2010 9:37 pm

Saludos unijimpe:
Gracias por el aporte, lo he utilizado usando mi cuenta de gmail y funciona muy bien, sin embargo trate de aplicarlo con una cuenta de correo de mi proveedor de hosting y al tratar de enviar elmail, no muestra ningun error, simplemente una pagina en blanco.
Desconozco si es necesario configurar algo mas…
Espero puedas ayudarme.

Mauricio Moo Aguilar
Publicado: 22/02/2010 9:48 pm

Saludos… me respondo a mi mismo. Espero sirva a alguien mas. Pude resolver el problema de la pantalla en blanco, corrigiendo los datos del servidor SMTP y el puerto del sitio donde tenía hosteada la página. Con los datos correctos, phpMailer funciono sin ningún problema.
Gracias y saludos.

Randal
Publicado: 22/04/2010 11:51 am

Alguien que me ayude. Auxilio, Socorro.
Con php, necesito levantar outlook express, ya con los archivos adjuntos, para que el usuario final, solo ingrese a que destinos va a enviar sus archivos. Como puedo realizar este requerimiento. Si puede ser sin SMTP, mucho que mejor.

Les agradezco toda la ayuda posible.

Erbomba
Publicado: 22/04/2010 1:50 pm

Estoy teniendo un problema con la clase, les cuento:

Todo funcionaba muy bien, y además tenemos dos versiones de la misma web en el servidor, una es la «vieja» la cual funcionaba pero su estilo no era bonito así que decidimos cambiar colores etc…
Una vez acabada la web probamos todo y sorpresa, el formulario no funciona, da error, vamos a la página «antigua» y el mismo error… Subí la página a mi servidor (de mi web) y funcionó perfectamente, además de mis dos servidores locales dónde también funcionó perfectamente.
Por lo tanto mi conclusión es que el servidor puede estar mal, pero es de pago etc… vamos que me huele raro todo esto. Les dejo las páginas para que puedan visitarlas y si saben algo pues ayudarme, gracias

Versión vieja: http://bgsourcing.com/testsite2/sourcing/sourcing.php
Versión final: http://bgsourcing.com/sourcing/sourcing.php
En mi servidor: http://erbomba.zobyhost.com/bg2/sourcing/sourcing.php

PD: Php.mailer no ha sido tocada ;)

Sebastian Camilo
Publicado: 28/04/2010 12:41 pm

amigo me gustaria saber ya descargue el archivo pero no encuentro los archivos q dices o como se usan

Cesar
Publicado: 23/05/2010 4:14 pm

Buenas, estoy tratando de enviar en un ciclo el mismo mail a diferentes correos que estan en un array pero no me envia sino la primera vez y el array tiene 3 posiciones, si me pueden ayudar se los agradecería!

RTBest
Publicado: 25/05/2010 3:33 am

Hola buenas:

Os comento mj problema. Estoy creando una web en la cual se pide un registro por parte de los usuarios. Para realizar el registro se solicita una dirección de correo para enviar la clave de activación. Phpmailer me funciona perfectamente excepto en el envio a correos con dominios con guión . Ex. correo@el-dominio.com.

He intentado varias maneras y no soy capaz.

Gracias

Raúl
Publicado: 22/06/2010 11:23 am

hola, tengo una duda. Quiero crear un pdf en php (con EZPDF) y quiero enviar ese pdf por email (con PHPMAILER) , ¿se puede? ¿cómo podría ser?

¿necesitaría una instrucciones así?


$pdf = new Cezpdf();
...
$mail->AddAttachment($pdf, "pdf de prueba");

Jose Antonio Gonzalez
Publicado: 09/07/2010 9:27 pm

Hola!

El script funciona muy bien, pero a los destinatarios les llega el mail en la carpeta de correo no deseado.

Que puedo hacer para soluciuonar eso?

Muchas gracias.

Saludos

oms
Publicado: 24/08/2010 6:18 am

Hola a todos. Estoy teniendo un problema al intentar implementarlo:

Could not instantiate mail function

A alguien le suena esto de algo? no lo he encontrado en este post por ningun lado.

por favor, cualquier ayuda sera muy agradecida…

1 saludo y gracias!

elo950
Publicado: 24/08/2010 10:44 am

gracias por la info muy buena, me sirvió pa un proyecto :)

mickeyups
Publicado: 01/09/2010 4:52 pm

hola que tal, quisiera saber como enviar email a correos corporativos.
lo que pasa es que estoy realizand una web que requiere el envio de mensajes a empresas q cuentan con webmail corporativos y al usar la funcion mail no puede enviar a estos correos.

Con otros mail si les llega HOTMAIL
Gracias pot todo, tus toturiales son de gran ayuda.
Agradecere tu ayuda

yamatho
Publicado: 20/09/2010 3:07 pm

Hola, he probado el php-mailer en tres diferentes sitios y solo en uno de ellos funciona de manera perfecta, utilize el mismo metodo para los demas sitios y aun asi no funciona, alguien podria ayudarme?

Martin
Publicado: 08/10/2010 10:20 am

tengo el si guiente problema estoy realizando la adjuncion desde una base de datos y si el envio es correcto me debe incrementar el contador

AddAddress($_POST['destino']);
$mail->From = "correo@dominio.com";
$mail->FromName = "Mart";
$mail->Subject = $asunto;
$mail->AddAddress($email);
$mail->AddReplyTo("correo@dominio.com", "Information");
//consulta de informacion
$cnx = conexion();
$sql = "select imagen,contador from imagenes where idimg = '$id'";
$rst = mysqli_query($cnx, $sql);
if (mysqli_num_rows($rst) > 0) :
while($rs=mysqli_fetch_array($rst)){
$img=$rs['imagen'];
$ct=$rs['contador'];
}
endif;

$mail->WordWrap = 50;
//$mail->AddAttachment("imagenes/Koala.jpg");
$mail->AddAttachment($img);
$mail->AddEmbeddedImage("logo.jpg", "logo", "logo.jpg");
$mail->IsHTML(true);
//$mail->Subject = "Asunto del mail";
$mail->Subject = $asunto;
$body = "Mi cabecera ";
$body .= "Mensaje";
$body .=$mensaje;
$body.= "Pagina de donde se envio";
$mail->Body = $body;

$mail->AltBody = "Si el cliente de correo del destinatario no acepta HTML se verá este texto.";

if (!$mail->Send()) {

echo "alert('Se ha producido un error al enviar el correo');";
echo "alert('Mailer Error: " . $mail->ErrorInfo."');";
exit;
}else{
$cont=cont+1;
$q="update imagenes set contador = $ct where idimg = '$id'";
mysqli_query($cnx,$q);
echo "alert('".$img." ". $ct."');";
echo "alert('El correo ha sido enviado con exito');";
}
?>

Cristian
Publicado: 09/10/2010 10:06 pm

Q tal,

Basicamente qusiera saber por q los correos enviados desde php no llegan a cuentas corporativas (en cambio a las de hotmail , yahoo, gmail, etc si llega correctamente). Me imagino q esto le ha pasado a muchas personas y quisiera por favor q me ayuden a corregirlo.

Gracias

jose
Publicado: 13/03/2011 8:36 am

saludos tengo el siguiente problema tengo colocado phpmailer en el servidor pero cuando se ejecuta el scrip no me manda ningun error nisiquiera una confirmacion de envio de correo. se queda en blanco la pantallla del explorador nose que pasa por favor ayuda.

Judith
Publicado: 02/04/2011 5:13 pm

Hola:

Necesito ayuda porque no me funciona el código tengo instalado el wampserver e instalé el phpmailer pero es como que no encuentra la funcion,
Algo no estoy entendiendo bien.

Por favor alguien me puede decir donde van los archivos smtp del phpmailer o que es lo que tengo que configurar para que funcione el código ya me da error al leer la linea del include como que no los encuentra o no se ya probé todos los codigos. Lo necesito urgente para un ejercicio que tengo que entregar !!!

Muchas gracias!!!

unijimpe
Publicado: 03/04/2011 2:13 pm

Judith, wampserver te instala automáticamente: apache, php y mysql. Para hacer el envío de correos es necesario tener un servidor SMTP.

Si tienes un hosting este por defecto ya tiene un servidor SMTP por lo cual puedes hacer el envío de correo sin problemas.

Una posibilidad es utilizar el servidor SMTP de gmail, para lo cual puedes leer la explicación de como hacerlo en: http://blog.unijimpe.net/enviar-email-con-php-y-gmail/.

También podrías instalar un servidor SMTP de forma local, podrías probar con http://www.hmailserver.com/

Agus
Publicado: 25/04/2011 6:08 pm

Hola que tal, he seguido paso a la funcion de phpmailer, sin embargo no me da ningun error, pero tampoco envia el e-mail. Yo tengo instalo en mi pc el XAMPP y no se si tengo que habilitar algo o configurar ciertas cosas en mi servidor local, o donde puedo ver lo del servicio SMTP en mi XAMPP para poder enviarl un correo de prueba desde mi pc solo con mi servidor XAMPP!! Gracias!! ojlaa puedas contestarme!!

miguel
Publicado: 26/04/2011 12:52 pm

Hola tengo instalado el phpmailer y el funcionamiento es correcto, salvo cuando envío archivos adjuntos,

Si son superiores a 9Mb No me los envía.

Si por ejemplo son de 4 Mb si que lo hace aunque tarda.

Por lo tanto phpMailer puede ser que admita un máximo de Mb para envíar archivos adjuntos ?????

Tengo:
set_time_limit(0);
var $Timeout = 60;

y utlizo el tipo de mail

case ‘mail’:
$result = $this->MailSend($header, $body);

miuler089
Publicado: 22/05/2011 3:08 am

ola necesito ayuda, intenté de todo y me sigue saliendo el mensaje de Que no puedo conectarme al servidor SMTP (Could not connect to SMTP host.) uso el wampserver y queria saber como configurarlo para activar el servidor SMTP en modo local, espero me puedas ayudar!!! saludos…

miuler089
Publicado: 22/05/2011 3:11 am

para complementar: al usar el servidor smtp de Gmail , me sigue saliendo el mismo error e incluso instale el hmailserver y aun nada!!!

Michel
Publicado: 12/06/2011 10:17 pm

Tienes idea de com hacer que el texto que uno envia por ejemplo » hola amigo» tenga la opcion de descargarse en pdf?

Edwin Zamora
Publicado: 01/07/2011 2:07 pm

Como puedo implementar este php pero en una pagina de html, ejemplo.html

Gracias!!!

kevin
Publicado: 09/07/2011 7:38 pm

hola unijimpe si puedes por favor ayudame en el siguiente problema:
necesito mandar correo a gmail por smtp y cuando ejecuto el script para ello aparece el siguiente error:

Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.gmail.com:465 (Unable to find the socket transport «ssl» – did you forget to enable it when you configured PHP?) in C:\wamp\www\cedatur\class.smtp.php on line 122
Error: Language string failed to load: connect_host

que debo hacer para solucionarlo…gracias de antemano y felicitaciones por el foro es muy bueno…

Juan Andres Gordillo
Publicado: 27/07/2011 11:17 am

Interesantisimo PhpMailer no lo conocía pero ahora me surgen unas dudas y es como llamar datos almacenados en una Base de Datos en MySql? Osea Nombre y Mail deberian ser datos variables. Gracias

Alejandro Longas Herrera
Publicado: 29/07/2011 8:29 pm

Muy buenas noches, al igual que muchas de las personas, tambien tuve el problema SMTP Error: Could not authenticate, usando la clase PHPMailer. Hice lo que recomendabaDure dos días dando vueltas por internet, hasta que me encontré un post donde alguien comentaba que su problema se solucionó cambiando a la última versión de PHPMailer, en este momento me baje la última que es la 5.1 de: http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/PHPMailer%20v5.1/PHPMailer_v5.1.zip/download , y me funcionó con inmediatamente!. Tengo instalado PHP 5.3.5 y uso Zend Server Comunity Edition.

Jorge Mario Saldarriaga
Publicado: 17/08/2011 8:57 am

Hola, he usado phpMailer desde que inicié mi página hace ocho años, en este tiempo mi empresa ha crecido mucho pues tengo 9 personas trabajando y 5 de ellas estan constantemente enviando correos a 850 empresas afiliadas, pero parece que cuando dos o tres de ellos envian correo al mismo tiempo ocurre alguna saturación y los correos se van dobles.

cual puede ser la falla?
como se puede solucionar, hay alguna forma de colocar colas de correo como cuando varias personas van a imprimir varios documentos al tiempo?

Maria
Publicado: 17/08/2011 10:51 am

Gracias me ayudo mucho, pero quisiera saber porque todo los correos me llegan a correo no deseados del Hotmail??

Dreamy
Publicado: 29/08/2011 5:43 pm

Hola yo también utilice phpMailer y tengo el servidor de correo POSTCAST SERVER PRO. el cual envio correo con archivos adjuntos para ser mas clara necesito enviar facturas electronicas adjuntas en xml y pdf y me llegan a mi servidor, el problema que yo tengo es el siguiente:
1. al querer abrir el archivo en el servidor me manda el siguiente mensaje: Insufficient memory!!
2. como puedo hacer para que me llegue estos archivos directamente a los correo de hotmail, yahoo, gmail.
Gracias de antemano.

Maria
Publicado: 31/08/2011 12:58 pm

Hola, estoy con un problema que no se cómo solucionarlo, si alguien puede ayudarme por favor se lo agradecería.
Dentro del hosting godaddy tenemos registrados varios dominios. Lo contrate hace poco y lo pedi con CGI Preinstalado, que es la única forma en que se hacer los formularios. Es vital que en todos los dominios funcionen los formularios.
El problema es el siguiente: Dentro del dominio principal hemos diseñado un formulario de contacto que funciona a la perfeccion utilizando con asesoramiento de Go Daddy: /gdform.php , por otro lado, en otro dominio tambien hemos creado un formulario con /gdform.php que no podemos hacer que funcione dado a que no es el dominio principal. Lo que nos dijeron que habia que hacer es informar en el codigo que el /gdform.php esta en otro directorio. Lamentablemente no comprendo la respuesta ya que no manejo los terminos con los que me dieron la informacion.
Realmente es fundamental para mi que en cada dominio que registre los formularios de contacto funcionen a la perfeccion sin ningun tipo de inconvenientes. No puedo trabajar si no es por medio de este contacto.
Les pido por favor me ayuden a solucionar este inconveniente para poder aprender a hacerlo con los demas dominios que utilice dentro de la misma cuenta de Hosting.
Les agradezco muchisimo su respuesta y su ayuda.

Angel
Publicado: 12/09/2011 10:27 am

hola, utilizo el phpmailer para lanzar una newsletter, por ahora va todo bien, el problema viene con los mails que devuelven error, es decir, que a la hora de enviarlo el send acaba bien pero al cabo de un tiempo (minutos, horas o días) viene el error por ejemplo de que tenían el buzón lleno. ¿Hay alguna forma de cazar esos errores para hacer un reenvio?

Gracias

chip
Publicado: 14/09/2011 4:52 pm

no se si me puedan ayudar es que me sale esto

Warning: require(class.phpmailer.php) [function.require]: failed to open stream: No such file or directory in prueva.php on line 2

Warning: require(class.phpmailer.php) [function.require]: failed to open stream: No such file or directory in prueva.php on line 2

Fatal error: require() [function.require]: Failed opening required ‘class.phpmailer.php’

Adriana
Publicado: 29/09/2011 7:07 pm

olaa !!!
Ojala alguien pudiera ayudarme necesito enviar un correos
tengo instalado PHP 5 y PHPMailer_v5.1 y no funciona me arroja este error «»» SMTP Error: Could not authenticate. The following From address failed: ejemplo@hotmail.com .No se pudo enviar el Mensaje «»»»»

Y mi codigo es el siguiente .

IsSMTP();
$mail->SMTPAuth = true;
$mail->Mailer = «smtp»;
$mail->Username = «ejemplo@hotmail.com»;
$mail->Password = «*********»;
$mail->Host = «smtp.live.com»;

$mail->From = «ejemplo@hotmail.com»;
$mail->FromName = «Nombre a mostrar del Remitente»;
$mail->Subject = «Asunto»;
$mail->AddAddress(«ejemplo@hotmail.com»,»Nombre a mostrar del Destinatario»);
$mail->WordWrap = 50;
$body = «Hola, este es un…»;
$body .= » mensaje de prueba»;
$mail->Body = $body;
$mail->Send();

if(!$mail->Send()){
echo «No se pudo enviar el Mensaje.»;
}
else
{
echo «Mensaje enviado»;
}
?>
Alguien me podria ayudar a solucionar mi problema ya que llevo dias buscando y buscando y las unicas soluciones que encontrado es
que si agrego esta linea funcionara pero eso de «eldominioqueusas» no me queda muy claro
$mail->Helo = «www.eldominioqueusas.com.mx»;
y la segunda es descargando la ultima version de PHPMailer pero es la que tengo instalada y ni asii. :(

decoracion con globos
Publicado: 14/11/2011 8:23 pm

A cuantos correos se puede enviar a la misma vez con este script, 50, 100, 200, 1000, o cuantos. Entre aqui a tu web porque queria saber como tiene que ser un servidor para poder enviar tantos coreos.

Un saludos

decoracion con globos
Publicado: 17/11/2011 2:34 pm

Hola, tengo asi un formulario y en proceso.php tengo esto

<?php
// INGRESE EL EMAIL DONDE RECIBIRÁ LOS DATOS DEL FOMULARIO
$para = 'felseck@hotmail.com';

$asunto = $_POST["tipo"];
$mailheader = "From: ".$_POST["email"]."\r\n";
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$MESSAGE_BODY = "Nombre: ".$_POST["nombre"]."»;
$MESSAGE_BODY .= «Email: «.$_POST[«email»].»»;
$MESSAGE_BODY .= «Telefono: «.$_POST[«telefono»].»»;
$MESSAGE_BODY .= «Tipo de contacto: «.$_POST[«tipo»].»»;
$MESSAGE_BODY .= «Mensaje: «.nl2br($_POST[«mensaje»]).»»;
mail($para, $asunto, $MESSAGE_BODY, $mailheader) or die («Error al enviar el Formulario !»);

$mail->AddAttachment(«archivos/Paso para conectar Grupo Conecta.pdf», «Paso para conectar Grupo Conecta.pdf»);

//MODIFICAR A LA DIRECCIÓN EN SU SERVIDOR
header( ‘Location: http://www.SuSitio.com/gracias.html‘)
?>

Todo lo envia bien, pero el archivo adjunto no.. Que estoy haciedno mal?

unijimpe
Publicado: 18/11/2011 10:40 am

En el caso de Adriana el servidor de SMTP te esta pidiendo un usuario y clave validos ara hacer el envío de emails, verifica que el usuario este bien escrito. Además de ello estas utilizando smtp.live.com como servidor SMTP cuando deberías utilizar un servidor local o algún otro servidor SMTP.

Para «decoracion con globos» es muy probable que el nombre del archivo que deseas adjuntar no sea el correcto. Te recomiendo que utilices nombres de archivos que no contengan espacios en blanco, tildes y tampoco letras en mayusculas.

Lady A
Publicado: 16/12/2011 9:15 am

hola, me ha gustado tu publicacion, pero tengo un problema como hago para mostrar los e-mail recibidos. quisiera saber si se puede mostrar en una lista como gmail o hotmail para que al dar clic los pudiera leer uno por uno. Gracias

jhynsgbao
Publicado: 03/02/2012 2:57 pm

que codigo puedo utilizar para que me reconosca la letra «ñ» y tambien la tilde por que al momento de enviar un mensaje desde el formulario creado cuando me llega el mensaje no me reconoce la letra ‘ñ’ y la tilde …. ojala me puedas ayudar es urgente….

Lucas
Publicado: 14/02/2012 3:29 am

Hola, hace tiempo que la utilizo y me funciona muy bien, mi unico problema, es que si le adjunto un array de direcciones, como copia oculta, si por un casual uno de ellos no existe, no me envia los demas, hay alguna opción que siga enviando si uno de ellos no existe?.

Un Saludo

egutierrez
Publicado: 01/03/2012 2:41 pm

Buenas tardes amigo, sabes que cantidad de direcciones (addbcc) a la vez puedo agregar en un email. por ejemplo tengo un email que quiero enviar a 2000 personas, si hago un bucle que envie uno a la vez, posiblemente me congestione el servidor, por eso la pregunta, puedo hacer un bucle que envie por lo menos 100 o 200 correos a la vez? o cuando es lo que soporta el phpmailer? Graciass

Luis
Publicado: 24/05/2012 6:25 pm

Pregunta:

Yo he hecho formularios con flash y utilizo php para mandarlos, llegan a todo tipo de mails (gmail, yahoo, cualquier server), excepto a hotmail. me recomendaron usar phpmail para que asi pudieran llegar a la bandeja de hotmail, mi pregunta es si con esto puede leer las variables que les mando desde el formulario de flash?

saludos y gracias

 

Comentar

En este blog los comentarios están moderados, serán mostrados cuando el administrador los apruebe. Por favor, evita comentarios ofensivos u obscenos por que no serán aprobados.
Si deseas publicar código fuente debes hacerlo entre las etiquedas <code> y </code>, además debes reemplazar los carácteres < por &lt; y > por &gt;.

(Requerido)

(Requerido, no será publicado)

(Requerido)

(Tags aceptados: <a> <em> <strong> <code> <ul> <li>)