PHPMailer

139 views
Skip to first unread message

Martin Peveri

unread,
Mar 12, 2014, 1:38:12 PM3/12/14
to phplatin...@googlegroups.com
Hola amigos como estas?. Bueno estoy utilizando la clase PHP Mailer para enviar un mail con un form de contacto.

Por ejemplo el form de contacto tiene: Mail origen, Nombre, Asunto y descripción, a su vez estos datos se envían a una dirección de mi mail. 

Estoy teniendo un problema, puedo enviar bien los mails, pero me llegan desde la propiedad Username en lugar desde el from (Como que a esta propiedad no le importancia).


        $mail = new \PHPMailer;
        $mail->IsSMTP();
        $mail->SMTPAuth = true;
        $mail->SMTPSecure = 'ssl';
        $mail->SMTPDebug = 0;
        $mail->Host = "smtp.gmail.com";
        $mail->Port = 465

        $mail->Username = 'micuent...@gmail.com';
        $mail->Password = 'mipass';

        $mail->FromName = $name;
        $mail->From = $email;
        $mail->Subject = $subject;
        $mail->AltBody = "";
        $mail->MsgHTML("<p>" . $message . "</p>");
        $mail->AddAddress("micuent...@gmail.com");
        $mail->IsHTML(true);

        if ($mail->Send()) {
            return true;
        } else {
            return false;
        }
    }

Yo lo que necesito es que desde la propiedad from me los envíe a micuent...@gmail.com, pero no. Llegan a micuent...@gmail.com desde micuent...@gmail.com, aunque toma el nombre de la propiedad FromName.

Es la primera vez que utilizo PHPMailer, habrá algo que me falta configurar?.

Gracias

Martin Peveri

unread,
Mar 12, 2014, 1:40:10 PM3/12/14
to phplatin...@googlegroups.com
Vale aclarar que si pongo mi variable $email en la propiedad Username y su password funciona bien, pero de esta forma tendría que agregar el campo password al formulario de contacto y no quiero.

Alvaro Lizama

unread,
Mar 12, 2014, 2:00:05 PM3/12/14
to phplatin...@googlegroups.com
No puedes falsear el from tan facil, (de hecho si lo haces te pueden beanear/mandar a spam). 

Yo suelo usar mailgun.com para mandar correos y me permite especificar el nombre de quien lo manda junto con otro correo del mismo dominio que verifique, aun que ese correo no exista.

Basicamente lo que hace es agregar headers, igual te deja mandarlo como un smtp normal o via api rest.


El miércoles, 12 de marzo de 2014 11:38:12 UTC-6, Martin Peveri escribió:
Hola amigos como estas?. Bueno estoy utilizando la clase PHP Mailer para enviar un mail con un form de contacto.

Por ejemplo el form de contacto tiene: Mail origen, Nombre, Asunto y descripción, a su vez estos datos se envían a una dirección de mi mail. 

Estoy teniendo un problema, puedo enviar bien los mails, pero me llegan desde la propiedad Username en lugar desde el from (Como que a esta propiedad no le importancia).


        $mail = new \PHPMailer;
        $mail->IsSMTP();
        $mail->SMTPAuth = true;
        $mail->SMTPSecure = 'ssl';
        $mail->SMTPDebug = 0;
        $mail->Host = "smtp.gmail.com";
        $mail->Port = 465

        $mail->Username = 'micuent...@gmail.com';
        $mail->Password = 'mipass';

        $mail->FromName = $name;
        $mail->From = $email;
        $mail->Subject = $subject;
        $mail->AltBody = "";
        $mail->MsgHTML("<p>" . $message . "</p>");
        $mail->AddAddress("micuentadegma...@gmail.com");
        $mail->IsHTML(true);

        if ($mail->Send()) {
            return true;
        } else {
            return false;
        }
    }

Martin Peveri

unread,
Mar 12, 2014, 2:13:08 PM3/12/14
to phplatin...@googlegroups.com
Hola Alvaro, gracias por responder.

Ya tengo todo configurado con PHPMailer, no hay una forma de configurarlo?. Es decir tal cual funcionan los formularios de contacto. Es la primera vez que lo hago de esta forma, siempre que hice un form de contacto utilice wordpress.

Gracias Alvaro

Analyzer

unread,
Mar 12, 2014, 3:41:58 PM3/12/14
to PHP Latinoamérica
No sé nada de eso, como suele suceder con el Analyzer ese ;-)

Pero encontré estos enlaces que quizás te sean de utilidad


Saludos!


--
Has recibido este mensaje porque estás suscrito al grupo "PHP Latinoamérica" de Grupos de Google.
Visita este grupo en http://groups.google.com/group/phplatinoamerica .

Analyzer

unread,
Mar 12, 2014, 3:47:06 PM3/12/14
to PHP Latinoamérica
>Yo lo que necesito es que desde la propiedad from me los envíe a micuent...@gmail.com, pero no. Llegan a micuent...@gmail.com desde micuent...@gmail.com, aunque toma el nombre de la propiedad FromName.

Aquí encontré un ejemplo para uso con gmail..

http://phpmailer.worxware.com/index.php?pg=examplebgmail

Saludos!


--

Néstor

unread,
Mar 12, 2014, 3:51:05 PM3/12/14
to phplatin...@googlegroups.com
en php.ini ya hicistes esto
[mail function]
; For Win32 only.
; http://www.php.net/manual/en/mail.configuration.php#ini.smtp
SMTP = localhost
; http://www.php.net/manual/en/mail.configuration.php#ini.smtp-port
smtp_port = 25

Martin Peveri

unread,
Mar 12, 2014, 3:54:18 PM3/12/14
to phplatin...@googlegroups.com
Gracias Analyzer ya estoy chusmiendo los ejemplos.

Nestor no alcanza con configurarlo en las propiedades de la clase?

Gracias

Néstor

unread,
Mar 12, 2014, 3:56:16 PM3/12/14
to phplatin...@googlegroups.com
Sabes, no me acuerdo, pero si me acuerdo que si estas usando php la ficha php.ini controla la configuracion de php.  Si no te funciona, intentalo haber y dejanos saber.

:-)


--

Martin Peveri

unread,
Mar 12, 2014, 4:00:28 PM3/12/14
to phplatin...@googlegroups.com
Ahora voy a probar, aunque no me cierra por que si fuera eso no tendría que ni mandar los mails. Y los mails llegan, pero a la propiedad from no le da bola. Sino que toma como from la propiedad username.

 

Néstor

unread,
Mar 12, 2014, 4:03:29 PM3/12/14
to phplatin...@googlegroups.com
Bueno si los mensajes te llegan entonces no cambies esa propiedad en php.ini.
En php.ini tambien hay un "Fom" 
A lo mejor si cambias esa propiedad.

llevo agnos que no uso mailer, pero yo siempre cambiaba el 'From' y el mail port
y luego ponia la informacion en la pagina que estaba usando para mandar el mensaje.


2014-03-12 13:00 GMT-07:00 Martin Peveri <martin...@gmail.com>:
Ahora voy a probar, aunque no me cierra por que si fuera eso no tendría que ni mandar los mails. Y los mails llegan, pero a la propiedad from no le da bola. Sino que toma como from la propiedad username.

 

--

Analyzer

unread,
Mar 12, 2014, 4:05:29 PM3/12/14
to PHP Latinoamérica
>Y los mails llegan, pero a la propiedad from no le da bola.

Ojo, que Néstor vive en EU y quizás se le haga dificil comprender las expresiones argentinas ;-)

De hecho, hasta a mi me cuesta saber que es eso de "dar bola"..

En México, se podrían hacer muchas bromas con eso ;-)

Saludos!


El 12 de marzo de 2014, 14:00, Martin Peveri <martin...@gmail.com> escribió:
Ahora voy a probar, aunque no me cierra por que si fuera eso no tendría que ni mandar los mails. Y los mails llegan, pero a la propiedad from no le da bola. Sino que toma como from la propiedad username.

 

--

Martin Peveri

unread,
Mar 12, 2014, 4:06:59 PM3/12/14
to phplatin...@googlegroups.com
AJAJAJJAJA es verdad, dar bola es como de decir no le da importancia.
 

Néstor

unread,
Mar 12, 2014, 4:09:20 PM3/12/14
to phplatin...@googlegroups.com
Ojo, que Nestor es de Colombia y tiene cugnado de Argentina
pero significa lo mismo en Colombia que en Argentina, ja, ja, ...


Gracias,


2014-03-12 13:06 GMT-07:00 Martin Peveri <martin...@gmail.com>:
AJAJAJJAJA es verdad, dar bola es como de decir no le da importancia.
 

--

Analyzer

unread,
Mar 12, 2014, 4:11:05 PM3/12/14
to PHP Latinoamérica
Ah bueno, bueno.. Menos más que ya quedó todo entre "latinos" ;-)


Saludos!

Cesar Sanchez Toro

unread,
Mar 12, 2014, 4:12:36 PM3/12/14
to phplatin...@googlegroups.com

Los amantes del futbol (o fulbito para los peruanos) “no dar bola” es cuando no te pasan el balón en pleno juego, no te dan pase, no te hacen caso, te ignoran por completo, “NO TE DAN BOLA”, no existes…. Jaja

 

CST

--

Martin Peveri

unread,
Mar 12, 2014, 4:12:09 PM3/12/14
to phplatin...@googlegroups.com
Un país y gente que siempre me cayeron bien son los colombianos! :) . Yo soy de buenos aires, en que parte de Argentina esta tu cuñado Nestor?

Alvaro Lizama

unread,
Mar 12, 2014, 8:12:09 PM3/12/14
to phplatin...@googlegroups.com
Mailgun te da un servidor smpt, con su usuario y password en teoria lo debes poder usar con lo que ya tienes solo es cosa de configurarlo y verificar el dominio (usa el dominio que usaras para el sitio).

Martin Peveri

unread,
Mar 13, 2014, 7:38:11 AM3/13/14
to phplatin...@googlegroups.com
Pero es de paga Mailgun no Alvaro?.

Martin Peveri

unread,
Mar 13, 2014, 8:34:22 AM3/13/14
to phplatin...@googlegroups.com
Lo que no me queda claro es que veo ejemplos que configuran el SMTP y otros no. Es posible esto o lo están configurando en el php.ini?.

Gracias

Martin Peveri

unread,
Mar 13, 2014, 10:28:20 AM3/13/14
to phplatin...@googlegroups.com
Lo resolví así:

        $mail = new \PHPMailer;
        //Configuracion del smtp
        $mail->IsSMTP();
        $mail->SMTPAuth = true;
        $mail->SMTPSecure = $this->secure;
        $mail->SMTPDebug = 0;
        $mail->CharSet = "UTF-8";
        $mail->Host = $this->smtp;
        $mail->Port = $this->port;
        
        //Nos autenticamos con nuestras credenciales en el servidor 
        $mail->Username = $this->user;
        $mail->Password = $this->pass;
        
        //From del mail
        $mail->SetFrom($from, $name);
        $mail->Subject = $subject;
        // Texto sin html
        $mail->AltBody = $message; 
        $mail->MsgHTML("<p>" . $message . "</p>");
        //A quien se lo envio
        $mail->AddAddress($to);
        //A quien lo voy a responder
        $mail->AddReplyTo($from, $name);
        $mail->IsHTML(true);

        //Enviamos el correo electronico
        if ($mail->Send()) {
            return true;
        } else {
            return false;
        }

Saludos

Analyzer

unread,
Mar 13, 2014, 11:00:16 AM3/13/14
to phplatin...@googlegroups.com
Gracias Martín por compartir tu solución! Voy a intentarlo por mi cuenta..

Saludos!

Néstor

unread,
Mar 13, 2014, 12:33:57 PM3/13/14
to phplatin...@googlegroups.com
Que crees que soluciono el problema, algo especifico?


--

Martin Peveri

unread,
Mar 13, 2014, 12:44:37 PM3/13/14
to phplatin...@googlegroups.com
Como estas Nestor, bueno algunas cosas:

1) Agregue una cuenta intermedia entre el from y el to. Es decir la que envía el mail es mi cuenta intermedia. Yo antes tenía mi cuenta que envía y recibía, pero no me cambiaba bien el from.

2) Esto $mail->CharSet = "UTF-8"; para tomar las tildes.

3) Si bien ahora al responder me sigue apareciendo mi cuenta intermedia en el from (Así lo hacen muchos form de contactos por ejemplo este: https://github.com/ChrisWojcik/ajax-contact-form), gracias esto: $mail->AddReplyTo($from, $name); al poner responder, me aparece el mail que indico en el primer parámetro.

4) Este método $mail->SetFrom($from, $name);, funciono mejor que ponerlos separados en from y fronName.

Alguna sugerencia, bienvenida sea.

Gracias


Alvaro Lizama

unread,
Mar 13, 2014, 1:54:18 PM3/13/14
to phplatin...@googlegroups.com
Usa mailgun o alguno similar ;) ellos se encargan de que el mail que mandes sea valido con cualquier correo que tengas del dominio verificado con ellos.

Puedes hacer que el from sea correono...@dominioverificado.com, sin problemas y parte ponerle que el reply se lo hagan a x cuenta existente.

Los servidores de correo tienen varios mecanismos que detectan si un correo es falso o no, lo hacen a travez de la configuración de los DNS y algunos certificados de los servidores que envían.

En el caso de gmail, por mas que específicos un from diferente, jamas saldrá si lo mandas desde una cuenta que no sea igual a la del from como medida de seguridad.

Si tuvieras un servidor local (cosa que no es nada recomendable) podrías hacer que se mande con cualquier from pero corres el riesgo de que te baneen la ip del servidor, no llegue el correo o llegue a spam  con el tiempo.

Lo mejor y siempre recomendable es usar servidores SMTP externos y confiables como los de amazon, mailgun, sendgrid o similares, sobre todos si mandas muchos correos al dia.

Martin Peveri

unread,
Mar 13, 2014, 2:00:58 PM3/13/14
to phplatin...@googlegroups.com
Ah no sabía que era una medida de seguridad, que el from no se visualice bien si la cuenta que lo envía no es la misma que la del from. Igual no solo en gmail me pasa sino hotmail igual, será un standar o algo por el estilo?.

Pero es de paga por lo que leí. 10.000 mails gratis, luego se paga. Capaz para este simple form de contacto no tiene sentido, sino si lo tendría si fuera para enviar muchos mails por día o no?.

Gracias Alvaro 

Alvaro Lizama

unread,
Mar 13, 2014, 2:23:24 PM3/13/14
to phplatin...@googlegroups.com
Si no vas a usar mas de 10 000 correos al mes, usalo te saldrá gratis, si vas a enviar mas de 10 000 correos usalo te conviene, no veo el problema de que sea de paga, hay que pagar por las cosas de calidad y que hacen bien su trabajo por que todo lo quieren gratis? :P

Martin Peveri

unread,
Mar 13, 2014, 2:35:51 PM3/13/14
to phplatin...@googlegroups.com
Ah, es al mes. Pensé que era en total.

Gracias Alvaro.

holidayspremi...@gmail.com

unread,
Apr 25, 2016, 5:40:55 PM4/25/16
to PHP Latinoamérica
Hola a todos tengo una pregunta estoy diseñando un app para el envio de correos de una compañia en realidad ya esta diseñada solo que ahora quieren poder enviar esos correos desde sus cuentas de gmail entonces estoy tratando de usar este metodo ya esta configurado pero al hacer el envio del correo recivo esta notificacion por parte de gmail

Delivery to the following recipient failed permanently:

     micu...@gmail.com

Technical details of permanent failure:
Message rejected.  See https://support.google.com/mail/answer/69585 for more information.

entro en el link pero dice que es spam ya sea por la cantidad de correso en cc o bcc pero se esta mandando mas a que solo una sola cuenta entonces no es spam no? talvez sea alguna mala configuracion ya sea de la cuenta o de phpmailer si algien sabe a donde dirigirme se los agradecere mucho de antemano Gracias !!




El miércoles, 12 de marzo de 2014, 11:38:12 (UTC-6), Martin Peveri escribió:
Hola amigos como estas?. Bueno estoy utilizando la clase PHP Mailer para enviar un mail con un form de contacto.

Por ejemplo el form de contacto tiene: Mail origen, Nombre, Asunto y descripción, a su vez estos datos se envían a una dirección de mi mail. 

Estoy teniendo un problema, puedo enviar bien los mails, pero me llegan desde la propiedad Username en lugar desde el from (Como que a esta propiedad no le importancia).


        $mail = new \PHPMailer;
        $mail->IsSMTP();
        $mail->SMTPAuth = true;
        $mail->SMTPSecure = 'ssl';
        $mail->SMTPDebug = 0;
        $mail->Host = "smtp.gmail.com";
        $mail->Port = 465

        $mail->Username = 'micuent...@gmail.com';
        $mail->Password = 'mipass';

        $mail->FromName = $name;
        $mail->From = $email;
        $mail->Subject = $subject;
        $mail->AltBody = "";
        $mail->MsgHTML("<p>" . $message . "</p>");
        $mail->AddAddress("micuentadegma...@gmail.com");
        $mail->IsHTML(true);

        if ($mail->Send()) {
            return true;
        } else {
            return false;
        }
    }
Yo lo que necesito es que desde la propiedad from me los envíe a micuent...@gmail.com, pero no. Llegan a micuent...@gmail.com desde micuent...@gmail.com, aunque toma el nombre de la propiedad FromName.

Reply all
Reply to author
Forward
0 new messages