| Por: José Mendoza | | 28/10/03
|
Bueno para los que no pudieron mandar un el email y les salió el siguiente error :
Warning: Failed to Receive in e:\proyecto\correo\enviomail.php on line 129
Pueden bajarse el programita "ninirelay server" que lo pueden descargar de http://netvicious.iespana.es/netvicious/ el cual no tiene mas de 270 Kb y solo lo tienen que ejecutarlo no necesita mas configuración.
Otra cosa en el archivo Php.ini en la sección [mail function] coloquen
SMTP = localhost
sendmail_from = proyectoII@proyecto.com
o cualquier dirección que no sea me@localhost.com de correo, a mi me funciono bastante bien tengo Apache y PHP corriendo en Windows 98.
Espero haber ayudado con algo.
oyeahhhhhhhh, rula.
Tengo lo mismo que tú pero en win XP y vá a las mil maravillas. ;)
| Por: Sergio Alvarado Hernandez | | 13/12/03
|
yo soy practicamente un novato en esto de la programacion web, pero gracias a sitios como este he encontrado una forma, desde mi punto de vista, muy adecuada para incrementar mis conocimientos de tal programacion en especial en PHP.
Espero algun dia ayudar de la misma forma a los colegas informaticos.
Gracias!!!!!!!!
a mi me suelta el siguiente error:
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Archivos de programa\Apache Group\Apache2\htdocs\pruebas\mail.php on line 9
ya puse lo de localhost en sendmail y mi direccion de correo. que puede pasar???
RESPUESTA
Este error ocurre cuando PHP no puede conectar con el servidor SMTP que tengas indicado en el PHP.ini. Parece que no puede conectar, por ello te sale el error. Puede ser porque el servidor esté parado o porque no tengas conexión entre la red del servidor de correo y la del servidor web.
La verdad jalo de peluche lo unico que no se es si realmente puedo establecer a mi maquina como servidor de correo, como lo configure fue para que usara la direccion del servidor de correo de la red pero de todas formas asi jalo muy bien...
yo una vez que configure php.ini, me fui en winxp a mis conexiones de red y seleccione la conexion a internet, entonces propiedades-opciones avanzadas-configuracion-servicios y active la casilla que dice "Internet Mail Server (SMTP), y solucione mi problema ya puedo usar la funcion mail()!!!
Funciona perfectamente salvo por el detalle de que en las cabeceras sobra el '\r' , ya que no se porqué si lo incluyo no me envÃa los correos, al quitarlo me ha funcionado correctamente.
Muchas gracias por el artÃculo y un saludo.
Me funciona perfectamente y es una solucion ideal para los formularios, sin embargo incluso cuando los campos del formulario estan vacios envia el correo, entonces recibo informacion en blanco, me fijé en la funcion "if" y esta bien escrita (me parece).Hay alguna solucion para validar los campos ,de e-mail por ejenplo?¡felicitaciones y gracias!
Hola, muy bueno el script.
Yo queria saber si se puede mandar un mail con los headers desde un formulario. Yo uso en el formulario un campo de el nombre del que envia el mensaje, otro de su mail, otro del nombre a quien le envia el mensaje y otro del mail a quien enviarle el mensaje. Yo uso como variables:
Nombre del remitente=$tunombre
Mail del remitente=$tumail
Nombre del receptor=$nombreel
Mail del receptor=$mailel
| Por: Juan Manuel Oropeza | | 29/6/04
|
A mi tambien me muestra la misma advertencia:
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in \\172.21.6.16\s004\conexun.com.mx\reg.php on line 46
Pero mi problema es que yo pago un servicio de hosting, hay alguna manera de usar esta funcion?? que tengo que configurar? o que otra opcion tengo?? de antemano gracias.
Respuesta
Si tu preveedor de alojamiento no tiene configurado el php.ini para poder enviar correo deberias informarles de la situacion y solicitarles q habiliten un servidor de correo smtp en la configuración de php.
Ok... veo que la mayoria lo utiliza bajo windows... pero como lo configuro para poder enviar los correos desde un servidor propio montado en Linux Red Hat 8.0,funcionando con servidor DNS (www.midominio.com)... espero puedan orientarme...gracias
| Por: Sebastián López Castro | | 06/10/04
|
Posible solución al problema de Warning: mail(): SMTP server response: 550 5.7.1 Unable to relay.
Esta solución es válida para Windows XP PRO, usando el servidor SMTP que inluye el IIS.
Si hemos configurado bien el PHP.INI, pero el error persiste, probablemente se debe a que, por defecto, la opción de RELAY (Retransmisión en castellano) se encuentra desactivada. Para activarla y permitir la salida de nuestros emails desde PHP deberemos ir a Panel de Control-Herramientas administrativas- Servicios de Internet Information Server, y una vez dentro seleccionar el servidor virtual de SMTP. Pulsamos el botón Propiedades en la barra de botones y seleccionamos la pestaña "Acceso". En la parte baja de dicha pestaña encontramos un botón que pone "Retransmisión", lo pulsamos y, en la ventana que se abre elegimos la opción "Sólo los de la lista siguiente", pulsamos el botón "Agregar" e introducimos la IP de nuestro servidor (ejemplo: 192.168.0.15).
Así estaremos autorizando a nuestra máquina servidora a enviar correos SMTP al exterior.
Espero que haber ayudado. Esta solución la he encontrado en una página en inglés, cuya dirección es la siguiente. Saludos y gracias a todos porque entre todos creamos una gran comunidad de conocimiento.
http://forums.devshed.com/archive/t-171453
Hola a todos!! me gusta muchisimo esta página y me ha ayudado muchisimo a lo largo de mi larga dedicacion a las paginas web.... pero una vez hechos los elogios: Este escript no me funciona :'( y lo peor es que no me da ningún error. pongo bien la direccion de correo y entiendo todo. tengo contratado un hosting con php y imagino que esta configurado, mas q nada porq no me da error.Muchisimas gracias por atenderme!
la funcion mail anda bárbaro pero mi problema está en el tiempo que tarda en ejecutarla, realmente se queda un buen rato hasta que finalmente envía el email..¿por qué pude ser? tiene que ver con la configuracion en el servidor?
gracias
RESPUESTA
Yo creo que tiene mucho que ver con el servidor de correo de mails. La página no se termina de generar hasta que no se envía el correo electrónico.
| Por: Rodrigo Farias | | 15/12/04
|
a mi me arroja el siguiente error:
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in c:\htdocs\test\contresp.php on line 7
y el codigo que tengo es este:
mail($para,$asunto,$mensaje,"FROM:".$de);
Lo he probado con espacio delante y detras de los dos puntos de form, usando from con mayuscula y solo la "F"... pero me sigue rrojando ese error.
¿Como lo puedo solucionar?
Bien el error de sendmail_from por el php.ini es este
teneis que ponerlo asin y fijaros bien en las ;
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = webmaster@tusitio.com
delante de sendmail_fron hay que kitar el ; que esta puesto si veis que no chifla mirar las extensiones que hay alguna que tiene que estar sin los ; por que si lo tuviera no ejecuta
instalar como progrma de smtp el QK SMTP SERVER
UN SALUDO ESPERO QUE SIRVA DE ALGO
pongo aqui las extensiones que tengo yo activas
;extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_crack.dll
;extension=php_curl.dll
;extension=php_db.dll
;extension=php_dba.dll
extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_domxml.dll
extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_hyperwave.dll
extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_java.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
extension=php_pdf.dll
extension=php_pgsql.dll
;extension=php_printer.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_w32api.dll
;extension=php_xmlrpc.dll
;extension=php_xslt.dll
;extension=php_yaz.dll
extension=php_zip.dll
| Por: Juan Iniestra | | 18/1/05
|
Resultado !!Perfecto ¡¡ gracias por el ejemplo me sirvio muchisimo
Bueno, a mi la verdad es que no me furrula. Tengo un servidor debian linux y tengo como MTA Exim4. Se podría postear un howto sobre como configurar este servidor para que funcionara. Saludos a todos.
| Por: Omar Hernández | | 12/2/05
|
Funciona de maravilla mandando correos en html, en todos los correos que he mandado, de dominios propios y de servicio gratuito como yahoo, pero no funciona para correos de hotmail, ¿por que?, ayuuuda?, solo funciona con texto simple, sin html.
Es que no hay nadie que use linux?? Cada vez vamos a peor. Si alguien que lea este artículo tiene un servidor linux me gustaría saber si ha probado esta función. Yo he probado con sendmail y con Exim y no ha habido manera.
Gracias.
No comprendi si el codigo que va entre los ..... ?> eso va en un archivo aparte p bien metido en medio del codigo de la pagina donde se encuentra el formulario donde nos envian el mail.
RESPUESTA
Ese código PHP va dentro de la pagina donde se encuentra el formulario que quieres enviar.
El servidor mio tiene Linux y el script funciona sin un problema
ok a mi si me interesa saber esto de envio de mail ya que lo necesito para un proyecto y la verdad tengo un programa que me instalo el apache php y mysql descarge el codigo pero me marca error en la funcion de mail($destinatario,$asunto,$cuerpo,$headers) y no se a que se debe ese error de hecho cuando corro la pagina aparece este mensaje Warning: Unknown error in C:\apache\htdocs\mail2\mail.php on line 43 y en la linea 43 esta la funcion de mail() que hago
Hola. Antes me daba el error · Warning: mail(): SMTP server response: 550 5.7.1 Unable to relay. Lo arreglé configurando php.ini y la pestaña "retransmision". En cuanto hice esas dos cosas la funcion mail me devuelve true, y no me da ningun tipo de error, pero a los detinatarios no les llega nada!!!!. Me podriais ayudar??? gracias.
si a alguno le aparecio este error Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing es porque el php.ini no pudo ser encontrado por el apache, se puede solucionar poniendo el php.ini en la carpeta donde se encuentra el apache.exe
yo no se nada de computacion menos de enviar mails pero su pagina es muy clara y facil de entender
Como hacer para que al enviar el formulario esa misma persona reciba un correo sabiendo que su petición o envío de formulario a llegado, vi un script por ahí que puso una muchacha pero veo que hay que poner el correo del usuario que es el que escribe pero quien sabe cual es el correo del usuario sí puede ser cualquiera?
es un sitio muy pero muy interesante.. gracias por los consejos y codigos que me parece genial.. pero anda revisa todos tus comentarios pendientes un abrazo
Respuesta:
Gracias por tu comentario, estamos revisando los comentarios en la medida de lo posible, son muchas las tareas por realizar y no siempre está todo cómo nos gustaría.
Hay un error en el codigo: luego de la linea que dice
//ruta del mensaje desde origen a destino
$headers .= "Return-path: holahola@desarrolloweb.com\r\n"
falta un punto y coma al final para cerrar la instrucción.
Respuesta:
Ya esta corregido, muchas gracias.
Les comento mi solución sobre un MicroSoft W2k y un NT:
primero. Mencionarles que en el Servidor (que tiene NT) instalé IIS y sobre él, PHP.
Dentro del php.ini configuré :
SMTP="Olimpo", que es el nombre de mi servidor.
En IIS, dentro de las propiedades de mi Sitio SMTP por defecto, en "Directory Security" habilité la opción "Allowed To Relay"
Y eso solucionó todos los problemas que tenía.
Espero que mi experiencia les sirva de algo.
Saludos desde Chile.
Lo probe y funciona exelente.
Copie el codigo y lo pegue en una pagina que subi en mi servidor gratuito www.red-futura.net y luego lo ejecute y funciono super bien salvo un pequeño detalle que seguramente no es del scrip sino mas bien de gmail, la cosa es que al recibir el email en una cuenta de GMAIL la direccion de "responder a" es el mismo remitente mientras que al revisarlo en una cuenta de hotmail el "responder a" es exactamente el que yo le habia puesto que fuese y no el remitente, se entiende??
nada mas.
Hola amigos.
Bien. yo me he leido una gran cantidad de tutoriales y pues de todos se van formando soluciones para este problema en especifico: manda correo por PHP.. nada facil.
Y NADA FACIL!!! realmente hay que estar sentado todo el dia como zoombie tratando de comprender muchas cosas., "que si el php.ini,, que ahora es rosa muevelo hacia la derecha, ah! pero le cambiaste el comentario, muevelo a la izquierda,,etc..."
Lei en un foro, que linux no tiene este problema y muchos otros. Realmente me gustaria haber aprendido con linux..pero en fin..Nunca es tarde! algun dia me aventare!
Pobres de nosotros los mortales windows. T..T jeje.
Lo malo es que nosotros usuarios de windows, creemos que el simple hecho de instalar,,mmmm.. apache, ya sirve solo, como un video juego..jeje,, igual php, mysql, mysqladmin, myflashadmin...etc!!..
Ese es el problema que veo.. En fin amigos..no nos queda mas que seguir trabajando para solucionar este y otros problemas relacionados a la internet, llamese servidores http, servidores dns, pop3,,etc, etc..
Almenos estamos debajo de los usuarios linux :D., y no somos del monton que se compra una pc por mero status quo.
Esta es solo una opinion para darles animo, a aquellos compañeros de desveladas, investigadores, questionadores, etc..para que no se den por vencidos y sigan, hasta encontrar la solucion.
Saludos!
Para todos aquellos que usan winxp y tienen instalado ele easy php , instalense este programita 1st SMTP Server aqui les paso el link
http://1st-smtp-server.uptodown.com/
se instala y configura atomaticamente como un servidor de correo smtp (solo permitan al firewall de windows desbloquear el servicio cuando se los pida) y eso es todo. Funciona bien aunque los correos se reciben con cierta demora tener un poco de paciencia , aun no se la causa de ello pero de que llegan ...llegan, otra cosa a veces en hotmail llegan como correo no deseado revisen alli.
Saludos desde Peru
señores he intentado por todos los medios y comentarios de esta sección enviar con este formulario y siempre me sale el error Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in ..... on line 41
por ejemplo , necesito saber si necesito instalar un servidor de correo local oporque ninguna correo me llega a ningún sitio y tengo como cinco cuentas. No se si tewngo que configurar el php adaptado a un correo de otro servidor .
RESPUESTA
Veo que el error está bien claro. Te falta indicar en el PHP.ini tu correo electrónico en el campo sendmail_from, para que PHP sepa el correo a través del que se envían los email, si es que no se especifica nada en la cabecera del mensaje, en el campo From:.
Así que tienes dos opciones. Una es especificar el From: al crear las cabeceras del mensaje, o bien editar el PHP.ini para incluir una cuenta por defecto y asi no tener que indicar esa cuenta en cada mensaje que envías.
En el artículo Mandar mails desde PHP tienes ejemplos sobre como especificar un from en las cabeceras del mensaje y así evitar el error que te sale.
Para empezar, la función mail() trabaja perfectamente, pero antes de eso ya sean usuarios de windows o Linux, deben tener configurado un servidor de correo (SMTP). Tanto Linux como Wndows poseen ese servicio, solo deben activarlo.
Si no desean mover el código PHP.ini, en su página web coloquen las siguientes líneas:
ini_set('SMTP',"10.28.5.133");
ini_set('smtp_port','25');
mail($email,
$subject, $newmessage, $headers) or die("Lo sentimos, debes configurar un servidor de correo (SMTP) primero!");
Para empezar, la función mail() trabaja perfectamente, pero antes de eso ya sean usuarios de windows o Linux, deben tener configurado un servidor de correo (SMTP). Tanto Linux como Wndows poseen ese servicio, solo deben activarlo.
Si no desean mover el código PHP.ini, en su página web coloquen las siguientes líneas:
ini_set('SMTP',"10.28.5.133");
ini_set('smtp_port','25');
mail($email,
$subject, $newmessage, $headers) or die("Lo sentimos, debes configurar un servidor de correo (SMTP) primero!");
Si tienen la página web alojada en un servidor, pues hagan una consulta al administrador, para que les digan cómo configurar PHP para el envío de correo. Algunos proveedores tienen funciones seguras para envío de correo, coun autenticación de PHP en el servidor de envío y todo.
Ahora bien, si tienen problemas para el envío de email en su propio servidor local, instálense un servidor SMTP en su computador y configuren el servidor SMTP de PHP en php.ini. Pero tampoco gastaría mucho tiempo en esto porque no te aseguran que esos mensajes vayan a llegar a los destinatarios. Es decir, el envío de correos desde máquinas locales no es fiable, muchos servidores de correo los rechazan.
LO HE CONSEGUIDO. OS EXPLICO MIS PASOS PARA LOGRARLO. SIENTO NO PODER PONER IMAGENES:
Para que esto funcione, necesitamos tener activado un servidor de correo en el PC. Y yo no lo tenía.
Para habilitar el correo local me fui a servicios de Internet Server (primero lo arranqué) pero solo el Servidor SMTP
Antes de arrancarlo, tuve que habilitar (no arrancar) administración de IIS, porque yo lo tenía deshabilitado(Uso solo apache).
Primer Error: sendmail_from not set php.ini custom header missing
Primero cogí el php.ini (los dos el del php y el de apache/bin) y poner esto mas ó menos
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = miemail@telefonica.net
En miemail@telefonica.net poner vuestro correo
es el usuario que se mostrará al destinatario que llegue el correo
Poner el que corresponda.
El segundo Error: mail(): SMTP server response: 550 5.7.1 Unable to relay.
Ahora dentro del Panel de Control - Herramientas Administrativas
entré en Servicios en Internet Información Server:
Y dentro de este me fui a Servidor Virtual SMTP, botón derecho y propiedades.
Ahora nos vamos a la pestaña Acceso, botón Retransmisión
y marco solo los de la lista siguiente.
Y le agrego mi ip.
Al principio solo puse la IP 172.16.0.5 (la mía) pero no funcionaba, así que le añadí la 127.0.0.1 y funciona.
Tardó un poco (2-3 minutos) pero el correo llegó.
Bueno espero se de utilidad al alguno.
Saludos
Excelente! solamente hice las modificaciones de las direcciones, tal y como se indica en el articulo, y fuciona de maravilla.
Muchisimas gracias!
Hola amigos este artículo me funciona perfectamente con los correos Yahoo y Hotmail, pero con Gmail, me sale el código directamente en HTML alguien sabe porque?, saludos
| Por: Jonathan Korn | | 10/7/07
|
Bello el codigo, amigos. Funcionó a la perfeccion y en 5 minutos ya tengo algo que había querido implementar hace mucho tiempo.
Gracias totales!!!!
a mi me funciono de maravilla en la primera prueba, eso si monte todo en prueba.php y lo subí al servidor con el respectivo cambio de dir de correo y a la primera me envió el correo de prueba a mi email :)
marisa | No me funciona!
| 10/5/09 |
Pues a mi me envia el correo pero veo el código tal cual..Que puedo estar haciendo mal?