📧
Hosting
¿Por qué no funcionan los formularios de contacto en mi sitio web? ¿Qué configuraciones debo habilitar para enviar correos desde PHP?
Configurar el envío de emails desde formularios web.
Intermedio
Para que los formularios de contacto en tu sitio web envíen correos correctamente, es necesario verificar y habilitar las siguientes configuraciones:
**1. Verificar que PHP Mail está habilitado:**
La mayoría de servidores de hosting tienen habilitadas las funciones PHP mail() y sendmail() por defecto. Contacta con nuestro soporte si sospechas que está deshabilitada.
**2. Configurar correctamente el encabezado "From":**
Asegúrate de que el correo remitente sea un dominio válido asociado a tu cuenta de hosting. Usa un correo del mismo dominio de tu sitio web.
**3. Verificar la configuración SMTP (opcional):**
Si prefieres usar un servidor SMTP externo (como Gmail, Outlook, etc.), necesitarás usar librerías como PHPMailer o SwiftMailer en lugar de mail().
**4. Revisar los filtros anti-spam:**
Algunos correos pueden llegar a la carpeta de spam. Verifica que los encabezados estén correctamente formateados y evita palabras asociadas a spam.
**5. Validar el código PHP:**
Asegúrate de que tu formulario incluya:
- Validación de campos (no vacíos, formato de email correcto)
- Encabezados HTTP correctos para evitar inyección de código
- Manejo adecuado de caracteres especiales y acentos (UTF-8)
**Ejemplo básico de envío:**
```php
$destinatario = "contacto@tudominio.com";
$asunto = "Nuevo mensaje de contacto";
$mensaje = $_POST['mensaje'];
$headers = "From: formulario@tudominio.com";
mail($destinatario, $asunto, $mensaje, $headers);
```
Si después de verificar estas configuraciones el problema persiste, contacta con nuestro equipo de soporte técnico indicando qué función utilizas (mail() o sendmail()) y proporcionando el código de tu formulario para una revisión más detallada.
**1. Verificar que PHP Mail está habilitado:**
La mayoría de servidores de hosting tienen habilitadas las funciones PHP mail() y sendmail() por defecto. Contacta con nuestro soporte si sospechas que está deshabilitada.
**2. Configurar correctamente el encabezado "From":**
Asegúrate de que el correo remitente sea un dominio válido asociado a tu cuenta de hosting. Usa un correo del mismo dominio de tu sitio web.
**3. Verificar la configuración SMTP (opcional):**
Si prefieres usar un servidor SMTP externo (como Gmail, Outlook, etc.), necesitarás usar librerías como PHPMailer o SwiftMailer en lugar de mail().
**4. Revisar los filtros anti-spam:**
Algunos correos pueden llegar a la carpeta de spam. Verifica que los encabezados estén correctamente formateados y evita palabras asociadas a spam.
**5. Validar el código PHP:**
Asegúrate de que tu formulario incluya:
- Validación de campos (no vacíos, formato de email correcto)
- Encabezados HTTP correctos para evitar inyección de código
- Manejo adecuado de caracteres especiales y acentos (UTF-8)
**Ejemplo básico de envío:**
```php
$destinatario = "contacto@tudominio.com";
$asunto = "Nuevo mensaje de contacto";
$mensaje = $_POST['mensaje'];
$headers = "From: formulario@tudominio.com";
mail($destinatario, $asunto, $mensaje, $headers);
```
Si después de verificar estas configuraciones el problema persiste, contacta con nuestro equipo de soporte técnico indicando qué función utilizas (mail() o sendmail()) y proporcionando el código de tu formulario para una revisión más detallada.
Artículos relacionados
👤
🌐
✏️
¿Cómo crear nuevos usuarios y cambiar el nombre del usuario por defecto en mi cuenta de hosting?
Crear y modificar usuarios en tu panel de control.
¿Por qué no aparece mi dominio en el panel de control y cómo puedo acceder a cPanel?
Mi dominio no se visualiza en la cuenta de hosting.
¿Cómo corrijo el nombre de mi hosting si no coincide con mi dominio?
Modificar el nombre del servicio de hosting
🙋
¿No encontraste lo que buscabas?
Nuestro equipo de soporte está listo para ayudarte.
Contactar soporte