IMAP PHP

Generalidades

Con el lenguaje de programación PHP, puedes crear  formularios de correo simples para enviar correos electrónicos. PHP también tiene un conjunto de funciones IMAP más avanzadas que puede aprovechar para crear formularios de correo electrónico más avanzados. Esto te permite guardar los correos electrónicos enviados y revisar tu bandeja de entrada para ver si hay nuevos mensajes.

La creación de formularios personalizados está más allá del alcance del soporte técnico. Si algo no funciona según lo previsto, el soporte de DreamHost no puede solucionar problemas relacionados con la codificación del formulario.

Notas generales sobre formularios de sitios web

Los ejemplos en esta página muestran un mensaje enviado a través del servidor web DreamHost para la dirección de correo electrónico 'De' que se muestra. Debido a esto, el mensaje está sujeto a la política de dominio del remitente:

Si necesitas utilizar una dirección de correo electrónico externa para el usuario remitente 'De', es posible que desees considerar la posibilidad de configurar un formulario SMTP para el sitio.

Ten en cuenta que existen límites estrictos de envío al enviar correo electrónico desde un servidor web. Visita el siguiente artículo para obtener más detalles:

Función básica para reemplazar 'mail()' 

La función imap_mail() puede reemplazar la función estándar mail() que se usa normalmente para enviar correo electrónico. Los parámetros para ambas funciones son en su mayoría similares.

Aquí hay un ejemplo básico usando imap_mail():

<?php

$to = "recipient@example.com, recipient2@example.com";
$subject = "Test Email";
$body = "This is only a test.";
$headers = "From: me@example.com\r\n".
   	"Reply-To: me@example.com\r\n";
$cc = null;
$bcc = null;
$return_path = "me@example.com";

imap_mail($to, $subject, $body, $headers, $cc, $bcc, $return_path);

?>

Explicación de los campos en este formulario

$headers
Esta sección tiene dos campos: From y Reply-To.
La dirección de correo ‘From’ o 'De' 
Debe configurarse con la dirección de correo electrónico que envía el mensaje. Si no estás utilizando la autenticación SMTP, esta debe ser una dirección de correo electrónico en el mismo dominio desde el que está enviando y debe estar alojada en DreamHost. Si deseas utilizar cualquier otra dirección como 'De', debes utilizar la autenticación SMTP.
La dirección de correo ‘Reply-To’ o 'Responder a'  
Se puede configurar con cualquier dirección y recibe las respuestas al mensaje del destinatario.
$return_path
El correo rechazado vuelve al remitente del sobre que se indica aquí. Quieres que 'Reply-To' y 'Return-Path' estén configurados para el mismo usuario remitente.

Guardando correos enviados

La configuración del formulario anterior le permite enviar el mensaje, pero no lo guarda en la carpeta SENT. Si desea ver un registro de todos los correos electrónicos enviados, puede agregar otra función para almacenar el mensaje en la carpeta SENT

Para almacenar el mensaje enviado en la carpeta 'Sent', agrega esta función al archivo PHP. Asegúrate de utilizar el nombre de tu servidor de correo para el nombre de host. En este ejemplo es imap.dreamhost.com.

<?php

//The first line connects to your inbox over port 143
$mbox = imap_open("{imap.dreamhost.com:143/notls}INBOX", "me@example.com", "password");

//imap_append() appends a string to a mailbox. In this example your SENT folder.
// Notice the 'r' format for the date function, which formats the date correctly for messaging.
imap_append($mbox, "{imap.dreamhost.com:143/notls}INBOX.Sent",
    "From: me@example.com\r\n".
    "To: ".$to."\r\n".
    "Subject: ".$subject."\r\n".
    "Date: ".date("r", strtotime("now"))."\r\n".
    "\r\n".
    $body.
    "\r\n"
    );

// close mail connection.
imap_close($mbox);
?>

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?