Contact Form Advanced puede enviar cada mensaje del formulario a través de una cuenta de correo real, usando los ajustes de correo saliente (SMTP) de esa cuenta. Es la forma más fiable de recibir los mensajes del formulario, y es lo que recomendamos para la mayoría de los sitios web.
Los ajustes SMTP solo están en Contact Form Advanced (formulario de contacto avanzado), no en el Contact Form (formulario de contacto) sencillo.
Cómo envía el correo el formulario
En Mail Sending (Envío de correo), dentro de Ajustes del widget, tienes tres opciones:
| Opción | Cómo envía |
|---|---|
| SMTP Details | Inicia sesión en tu cuenta de correo y envía a través de ella. Este artículo explica cómo hacerlo. |
| PHP Mail | Tu servidor web envía el mensaje por sí mismo. No hay nada que configurar, pero algunos proveedores de alojamiento lo bloquean o el mensaje acaba en spam. |
| EverWeb | Lo envía el servidor de EverWeb. Necesita el complemento Contact Forms Enhanced. Si tienes el complemento, elige esta opción y sáltate el resto de este artículo. |
Con SMTP Details (Datos SMTP), el formulario envía cada mensaje desde la dirección indicada en Email Address to Send Form to (Dirección de correo a la que enviar el formulario), a esa misma dirección. Cuando haces clic en Responder, tu respuesta va al visitante, siempre que tu formulario tenga un campo de correo electrónico.
Por eso la cuenta SMTP debe ser la misma dirección que Email Address to Send Form to. La mayoría de los fallos se deben a mezclar dos cuentas distintas.
Elige la dirección
Usa una dirección de tu propio dominio, como [email protected]. Si prefieres leer los mensajes en Gmail, iCloud u Outlook, reenvía esa dirección a ellos. Consulta Mi formulario de contacto no me envía correos.
Busca tus datos SMTP
Usa los ajustes de tu correo electrónico, nunca tus datos de acceso FTP ni la contraseña de tu cuenta de EverWeb.
| Dónde está tu correo | Servidor | Nombre de usuario | Contraseña | Puerto y seguridad |
|---|---|---|---|---|
| EverWeb + Hosting | mail.yourdomain.com (o el nombre de tu servidor), según Ajustes de correo electrónico para Apple Mail, Outlook, Gmail y otras apps (IMAP, POP, SMTP) |
la dirección de correo electrónico completa | la contraseña del correo de esa dirección | 465 y ssl |
| Otra empresa de alojamiento o de correo | pregúntales; a menudo es mail.yourdomain.com |
normalmente la dirección de correo electrónico completa | la contraseña del correo de esa dirección | pregúntales |
| Gmail o Google Workspace | smtp.gmail.com |
la dirección de Gmail completa | una contraseña de aplicación de Google, no tu contraseña normal. Requiere tener activada la verificación en dos pasos. | 465 y ssl, o 587 y tls |
Las direcciones de Outlook, Hotmail, iCloud y Yahoo suelen necesitar una contraseña específica para apps, y algunas no permiten en absoluto que un sitio web envíe correo con una contraseña. Si la tuya no funciona, usa una dirección de tu propio dominio.
Introduce los ajustes
- Selecciona el formulario en tu página y ve a Inspector > Ajustes del widget.
- Comprueba Email Address to Send Form to.
- Ajusta Mail Sending en SMTP Details.
- En SMTP Settings (Ajustes SMTP), introduce Server (Servidor), Username (Nombre de usuario) y Password (Contraseña).
- Ajusta Security (Seguridad) y Port (Puerto) a la vez: ssl con 465, o tls con 587. EverWeb cambia el puerto cuando cambias Security. Si escribes un puerto de correo entrante, como el 993, EverWeb te avisa y lo cambia.
- Haz clic en Test SMTP Details... (Probar datos SMTP). EverWeb envía un mensaje titulado "Test Email from EverWeb" a Email Address to Send Form to. Comprueba que llega, y mira también en tu carpeta de spam.
- Ve a Archivo > Publicar sitio completo.
- Abre la página en una ventana de navegación privada, rellena el formulario y envíalo.
Los formularios solo envían desde tu sitio web publicado, no desde la vista previa.
La prueba funciona, pero el formulario publicado no
Test SMTP Details... se conecta desde tu ordenador. El formulario publicado se conecta desde tu servidor web, que es otro ordenador con otra dirección. Por eso la prueba puede funcionar aunque el formulario siga fallando.
Cuando el formulario publicado falla, el visitante ve un mensaje que empieza por "Could not send email:". El resto te indica el motivo:
| Mensaje | Qué hacer |
|---|---|
| Incorrect login details | Comprueba Username y Password. Con Gmail, usa una contraseña de aplicación. |
| Can't connect to ... | Comprueba Server y Port. Si son correctos, es posible que tu proveedor de alojamiento o tu servidor de correo estén bloqueando la conexión. Pregunta a ambos. |
| Unable to send MAIL FROM command | El servidor de correo no quiere enviar como Email Address to Send Form to. Usa los datos SMTP de esa misma dirección. Después, si usabas el 587, prueba con el 465 y ssl. |
| fsockopen not enabled in PHP | Pide a tu proveedor de alojamiento que active fsockopen. |
| "An error occurred while sending the contact form. Check the developer console for errors." | Consulta An error occurred while sending the contact form. Check the developer console for errors. |
¿Usas otro proveedor de alojamiento? Algunos proveedores impiden que los scripts del sitio web se conecten a servidores de correo externos. Recomendamos PHP 8.2 o posterior. Puedes enviar este texto a tu proveedor:
El formulario de contacto de mi sitio web es un script PHP que envía correo conectándose a [tu servidor SMTP] por el puerto [465 o 587]. ¿Pueden los scripts de mi cuenta de alojamiento establecer esa conexión? ¿Qué versión de PHP usa mi sitio web?
Los mensajes llegan a la carpeta de spam
Enviar a través de una cuenta de tu propio dominio ayuda, porque el mensaje sale de un servidor autorizado para enviar correo de tu dominio. Si tu correo está en otra empresa, pídeles que revisen el registro SPF de tu dominio (el ajuste que indica qué servidores pueden enviar correo de tu dominio). Añade también la dirección del formulario a tus contactos.
Pregúntanos
Envíanos la dirección de la página, el mensaje exacto que mostró el formulario, si funcionó Test SMTP Details... y una captura de pantalla de Ajustes del widget con la contraseña oculta.
