[Php-avanzado] Consulta recepcion de Mails con PHP
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Sab Dic 19 12:24:48 ART 2015
Hola Martín,
enviar correo a Hotmail te va a dar error (casi) siempre, porque tu
equipo no es un servidor válido de correo electrónico saliente a nivel
de DNS.
Podés probar enviar mensajes a tu propio usuario en el equipo. Se vería
algo como martin en localhost
Postfix era innecesario porque ya tenías instalado Exim, que hace lo
mismo. Postfix tiene más opciones de configuración y puede darte algún
problema si no está bien configurado.
Para enviar mails, también podés usar la consola y mandarte un mensaje
de pruebas vía un comando:
ls -l | mail -sAsunto martin en localhost
y luego ver en /var/spool/mail si tenés creado un archivo de mensjes
(tiene como nombre el mismo de tu nombre de usuario, que yo uso "martin"
pero vos tenés que reemplazar con el tuyo real en el equipo)
Para chequear los mails, no sé por qué seguís usando IMAP. Chequealo
por POP3, que seguro lo tenés habilitado.
Cuando uses POP3, recordá que no permite la creación de carpetas, así
que la parte de imap_listmailbox() no te tiene que funcionar.
Directamente levantá los headers accediendo a INBOX, como aparece en el
apunte.
No te metas en cambios de configuración raros que podés encontrar por
internet, porque no hacen falta y ahí sí podés cambiar algo y hacer que
nada funcione.
Los errores que recibís:
Error no se envio el mail: es por querer enviar a Hotmail. Enviá a tu
propio equipo.
Warning: imap_open() Es por querer acceder vía IMAP en vez e vía POP3.
Al no obtener el handler a la conexión, todo lo demás falla porque
depende del handler.
Seguimos!
El sáb, 19-12-2015 a las 11:12 -0300, Martin Rivero escribió:
> Hola buen día profesor, ya instale Postfix y Dovecot, pero me sigue
> saliendo el mismo error. Estuve tratando de buscar en internet y vi en
> varios sitios que realizan cambios en los archivos de configuración de
> ambos, pero la verdad que me resulta algo confuso, Hay alguna página
> que tenga informaciòn correcta?
>
>
> Vuelvo a copiar el codigo completo, solo le agregue una linea al
> principio para que envie un mail, pero tampoco lo hace.
>
>
> Muchas gracias, saludos!
>
>
> <?php
> if (mail ("canuzamdq en hotmail.com", "Asunto", "Hola, probando mail")) {
> print ("<h1>Enviado!</h1>");
> } else {
> print ("<h1>Error no se envio el mail</h1>");
> }
> $mbox = imap_open ("{localhost:143}", "xxxxx", "xxxxx");
> print("<p><h1>Mailboxes</h1></p>");
> $folders == imap_listmailbox($mbox, "{localhost:143}", "*");
> if ($folders == false) {
> print ("Call failed<br>\n");
> } else {
> while (list ($key, $val) = each($folders)) {
> print ($val."<br>\n");
> }
> }
> print("<p><h1>Headers in INBOX</h1></p>\n");
> $headers = imap_header($mbox);
> if ($headers == false) {
> print ("Call failed<br>\n");
> } else {
> while (list ($key, $val) = each($headers)) {
> print ($val."<br>\n");
> }
> }
> imap_close($mbox);
>
>
>
>
> ESTE ES EL ERROR DESPUES DE EJECUTAR EL SCRIPT
>
>
>
>
> Error no se envio el mail
>
>
>
>
> Warning: imap_open(): Couldn't open stream {localhost:143}
> in /var/www/html/mail.php on line 7
> Mailboxes
>
>
>
>
> Warning: imap_listmailbox() expects parameter 1 to be resource,
> boolean given in /var/www/html/mail.php on line 9
>
>
> Notice: Undefined variable: folders in /var/www/html/mail.php on line
> 9
>
>
> Notice: Undefined variable: folders in /var/www/html/mail.php on line
> 10
> Call failed
> Headers in INBOX
>
>
>
>
> Warning: imap_header() expects at least 2 parameters, 1 given
> in /var/www/html/mail.php on line 18
> Call failed
>
>
> Warning: imap_close() expects parameter 1 to be resource, boolean
> given in /var/www/html/mail.php on line 26
>
>
> Notice: Unknown: Connection failed to localhost,143: Connection
> refused (errflg=2) in Unknown on line 0
>
> El 18 de diciembre de 2015, 21:36, Leonardo Tadei - Pegasus Tech
> Supply <leonardot en pegasusnet.com.ar> escribió:
> Hola Martín,
>
> para hacer pruebas de conexión IMAP, tenés que
> instalar algún servidor
> IMAP, como por ejemplo Dovecot, que es tanto IMAP como POP3.
>
> Luego, en la llamada a imap_open(), además del
> servidor, le tenés que
> pasar como parámetro el usuario y contraseña, que es el mismo
> que usás
> para ingresar a tu escritorio.
>
> Saludos!
>
> El vie, 18-12-2015 a las 21:24 -0300, Martin Rivero escribió:
> > Hola buenas noches. Estoy intentando conectarme al servodor
> IMAP de mi
> > compu, pero me sale el siguiente error:
> >
> >
> > Warning: imap_open(): Couldn't open stream {localhost:143}
> > in /var/www/html/mail.php on line 2
> > Mailboxes
> >
> > Warning: imap_listmailbox() expects parameter 1 to be
> resource,
> > boolean given in /var/www/html/mail.php on line 4
> >
> > Notice: Undefined variable: folders
> in /var/www/html/mail.php on line
> > 4
> >
> > Notice: Undefined variable: folders
> in /var/www/html/mail.php on line
> > 5
> > Call failed
> >
> > Notice: Unknown: Connection failed to localhost,143:
> Connection
> > refused (errflg=2) in Unknown on line 0
> >
> >
> >
> >
> >
> > El código es el siguiente (lo saque del apunte):
> >
> >
> > <?php
> > $mbox = imap_open ("{localhost:143}", "", "");
> > print("<p>><h1>Mailboxes</h1></p>");
> > $folders == imap_listmailbox($mbox, "{localhost:143}", "*");
> > if ($folders == false) {
> > print ("Call failed<br>\n");
> > } else {
> > while (list ($key, $val) = each($folders)) {
> > print ($val."<br>\n");
> > }
> > }
> > ?>
> >
> >
> > No se si hay algo que deba configurar en php.ini, a su vez,
> ¿como
> > puedo saber cual es el usuario y la contraseña del servidor?
> >
> >
> > Muchas gracias, saludos!
>
> > _______________________________________________
> > Lista de correo: Php-avanzado
> > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> > Administración Web:
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > Desubscripción:
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
>
> --
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Web: http://leonardo.tadei.com.ar
> Firma pública:
> http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Lista de correo: Php-avanzado
> Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> Administración Web:
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> Desubscripción:
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
>
>
> _______________________________________________
> Lista de correo: Php-avanzado
> Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado