¿Crear mensajes (es decir, borradores) en Gmail con IMAP / SMTP?
Pregunta
He hecho un poco de manipulación de la bandeja de entrada con Gmail a través de las funciones IMAP en PHP, pero una cosa que no he encontrado es una forma de crear mensajes. No estoy seguro de si se requiere IMAP o SMTP, pero me gustaría usar PHP para crear un nuevo mensaje (específicamente un borrador) que se almacena en mi bandeja de entrada con todo listo para enviarlo en una fecha posterior. ¿Cómo hago para esto?
Solución
Es posible que desee consultar imap_mail_compose ()
Editar Esto no crea el mensaje en el servidor. Necesitas usar imap_append () también.
Edición adicional Esto parece funcionar bien:
<?php
$rootMailBox = "{imap.gmail.com:993/imap/ssl}";
$draftsMailBox = $rootMailBox . '[Google Mail]/Drafts';
$conn = imap_open ($rootMailBox, "sdfsfd@gmail.com", "password") or die("can't connect: " . imap_last_error());
$envelope["to"] = "test@test.com";
$envelope["subject"] = "Test Draft";
$part["type"] = TYPETEXT;
$part["subtype"] = "plain";
$part["description"] = "part description";
$part["contents.data"] = "Testing Content";
$body[1] = $part;
$msg = imap_mail_compose($envelope, $body);
if (imap_append($conn, $draftsMailBox, $msg) === false) {
die( "could not append message: " . imap_last_error() ) ;
}
Otros consejos
debería poder crear borradores simplemente moviendo el mensaje redactado al codificador de borradores ...