2011-01-20 33 views
9
  • Estoy desarrollando una aplicación web con PHP 5.3.3.
  • Quiero que envíe correos electrónicos de confirmación automáticamente.
  • No tengo un nombre de dominio todavía.
  • Estoy usando Windows XP.
  • No tengo el paquete de correo de PEAR.
  • Tengo hMailServer y es el servidor de correo que deseo usar para enviar correos electrónicos.

Mis preguntas son:¿Cuáles son los requisitos para enviar un correo electrónico con PHP?

  1. ¿Puedo enviar correos electrónicos sin un nombre de dominio? (¿Es absolutamente necesario? Solo quiero probar la aplicación por el momento.)
  2. Si es necesario un nombre de dominio, ¿también necesito alojar la aplicación con un Proveedor de servicios de alojamiento web? ¿Puedo hacerlo desde mi computadora? (Recuerde, solo quiero probar la aplicación.)
  3. ¿Realmente necesito el paquete de correo de PEAR? ¿o puedo simplemente usar la función mail()?

No tengo ni idea de lo que debo hacer. Investigué, entiendo las partes, pero no puedo entender el todo, quiero decir qué recursos son necesarios y cómo armarlos. Nunca he desarrollado ninguna aplicación que envíe correos electrónicos antes. Por favor, ayúdame.

Respuesta

2
  1. Sí. Puede configurar su dirección "de" a lo que desee. (Aunque tenga en cuenta que el servidor destinatario podría detectar que está falsificado y rechazarlo).

  2. Puede alojar desde su computadora, solo asegúrese de que su red no está bloqueando el puerto 25 de salida.

  3. correo() solo será suficiente siempre que tenga un servidor SMTP local que manejará sus mensajes. (Estoy asumiendo que es lo que el producto es hMailServer.)

+0

El problema que tenía antes era que el correo ni siquiera se aceptaba para la distribución, ahora lo es. Todo lo que tenía que hacer era agregar un encabezado 'De:'. Utilicé mi complemento de Gmail como receptor para las pruebas. Supuestamente el correo fue enviado porque la función mail() devolvió verdadero. No puedo confirmarlo porque no tengo un nombre de dominio, entonces el encabezado 'De:' que utilicé fue solo mi nombre, y como dijiste, probablemente el servidor del destinatario lo rechazó, porque ni siquiera aparece como spam. Decidí obtener un DN, crear una dirección de correo con él y volver a intentarlo. ¿La función mail() se devolvería verdadera si no tuviera el servidor SMTP? – ecantu

0
  1. Sí, puede hacerlo. Creo que sus correos electrónicos aparecerán con el DNS de su servidor de forma predeterminada, pero puede configurar el encabezado desde: a lo que desee. Sin embargo, si cambias el encabezado de:, ten en cuenta que los filtros de correo no deseado pueden interceptar tus correos electrónicos.

  2. Necesita alguna configuración de servidor especial para usar la función php mail() - No he intentado configurarlo yo mismo, pero sé que una instalación local básica de apache/php no tendrá la capacidad de enviar correos electrónicos . Sin embargo, casi todos los servidores web pagos deberían tenerlo configurado correctamente.

  3. No. Puede enviar correos electrónicos regulares y html con la función de correo genérico().

+0

No entendí esta parte: "Creo que tus correos electrónicos se mostrarán con el DNS de tu servidor por defecto". No tengo un nombre de dominio, así que no tengo un DNS. – ecantu

+0

Si utiliza un proveedor de alojamiento web, sus servidores compartidos generalmente tienen algún tipo de nombre DNS, independientemente de si su sitio tiene o no su propio nombre de dominio. –

1

primer lugar, si se está utilizando Windows como su servidor, debe configurar cómo se enviarán los mensajes de correo electrónico (servidor SMTP). Vaya a esta sección en su archivo php.ini. Cambie localhost a un servidor SMTP que puede usar desde su red (ya sea la dirección IP de su hMailServer O a veces necesita comprar uno para usar como http://www.smtp2go.com/).

 
[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = localhost 
; http://php.net/smtp-port 
smtp_port = 25 

En segundo lugar, se utiliza la función de correo electrónico (...) en php (incluyendo la capacidad de enviar correo HTML). Eso es.

+0

Dejé 'localhost' porque la dirección de hMailServer es 'localhost'. Gracias. – ecantu

Cuestiones relacionadas