en mi sistema en línea de CRM controlo electrónico entrante con el protocolo IMAP. Ahora estoy enviando correos con phpmailer y protocolo SMTP. Todo está bien, pero tengo una cosa extraña. ¿Cómo hacer envíos con los correos de script phpmailer a la carpeta IMAP "Enviados"?electrónicos enviados con phpmailer no van a "Sent" carpeta IMAP
Respuesta
Ahora hay un método en el getSentMIMEMessage PHPMailer que devuelve toda la cadena MIME
$mail = new PHPMailer();
//code to handle phpmailer
$result = $mail->Send();
if ($result) {
$mail_string = $mail->getSentMIMEMessage();
imap_append($ImapStream, $folder, $mail_string, "\\Seen");
}
- Necesitas estar retransmitir el correo enviado a través del host IMAP
- El anfitrión IMAP debe ser compatible con la función (que muy pocos lo hacen)
Si cualquiera de estos dos puntos no son ciertas , la respuesta corta es "No puedes". En resumen, realmente depende del proveedor de correo, no de su código.
Por mucho que odie M $, Cambio es un lugar donde realmente tienen las cosas bien - si está utilizando un servidor de Exchange, todo esto se maneja para usted.
Bueno, es bastante difícil, pero se puede hacer.
Tome un vistazo a la función imap-append.
Al conectarse a un recurso de secuencia IMAP, puede usar imap-append() para anexar sus correos a la carpeta Enviado de su cuenta IMAP.
Pero leer los comentarios le mostrará que es un poco tedioso de lograr, pero ciertamente no imposible. Probablemente necesite codificar algo por su cuenta, ya que phpmailer no lo admite de fábrica (y lo más probable es que lleve demasiado tiempo implementarlo en lugar de hacer algo usted mismo).
Uf, realmente? Aún así, supongo que es una solución, aunque es una solución, así que le daré uno de estos deliciosos +1. – DaveRandom
Gracias por su respuesta, intentaré esto. – piernik
@DaveRandom Estoy de acuerdo contigo, no es bonito, pero es posible resolver el problema que tiene OP; aunque no entiendo la necesidad ... – Repox
Encontré una manera más fácil de hacer esto. PHPmailer prepara el correo electrónico como cadena; todo lo que tienes que hacer es colocarlo en la carpeta IMAP correcta.
amplié clase phpmailer con este código (VARs ya están protegidos no puedo llegar a ellos):
class PHPMailer_mine extends PHPMailer {
public function get_mail_string() {
return $this->MIMEHeader.$this->MIMEBody;
}}
código PHP:
$mail= new PHPMailer_mine();
//code to handle phpmailer
$result=$mail->Send();
if ($result) {
$mail_string=$mail->get_mail_string();
imap_append($ImapStream, $folder, $mail_string, "\\Seen");
}
funciona bien.
¿Puedes dar un ejemplo para los valores de $ ImapStream y $ folder? No puedo determinar cuál debería ser el valor correcto para $ folder, especialmente cuando no tengo acceso de nivel de archivo al servidor de correo (lo estoy usando con Gmail). – Zeeshan
- 1. Envío de correos electrónicos a través de SMTP con PHPMailer
- 2. Phpmailer AddBcc no funciona
- 3. correos electrónicos ActionMailer "enviados" en development.log, pero no recibieron
- 4. Recuperar correos electrónicos no leídos de Gmail - JavaMail API + IMAP
- 5. Recuperación de correos electrónicos en rieles a través de IMAP
- 6. PHPMailer no podría conectar con host SMTP
- 7. IMAP: cómo mover un mensaje de una carpeta a otra
- 8. Obtener correos electrónicos del servidor imap utilizando coldfusion 7
- 9. ¿Cómo descargar solo nuevos correos electrónicos de imap?
- 10. Acceder a los correos electrónicos de Gmail usando IMAP (API de javamail)
- 11. ¿Por qué los correos electrónicos enviados por .NET SmtpClient faltan Message-Id?
- 12. Enviar correo electrónico asincrónico con phpmailer
- 13. PHPmailer enviando correo a spam en hotmail. ¿como arreglar?
- 14. Google App Engine Correos electrónicos Ir a la carpeta SPAM
- 15. IMAP + TLS/SSL con sinapsis?
- 16. PhpMailer vs. SwiftMailer?
- 17. bucle de phpmailer
- 18. Error al manejar con PHPMailer
- 19. Conexión SMTP persistente en PHPMailer
- 20. Obteniendo múltiples mensajes IMAP a la vez
- 21. PHPmailer enviando HTML CÓDIGO
- 22. crear carpetas de IMAP no funciona
- 23. Server Sent Events en Play framework usando Java
- 24. PHP5-IMAP '¡No tengo cuerpo!'
- 25. IMAP obtención de UID Lista de la carpeta seleccionada
- 26. Criterios de IMAP con múltiples ORs
- 27. PHPMailer AddAddress()
- 28. Error de excepción de PHPMailer
- 29. phpmailer no puede agregar una respuesta a la dirección
- 30. cómo leer correos electrónicos con caracteres especiales
Eso es correcto. Desde el 13 de julio de 2012. Véase esta lista de cambios: https://github.com/PHPMailer/PHPMailer/blob/master/changelog.md#version-522-beta1-july-13-2012 También es necesario comprobar http: // php.net/manual/en/function.imap-append.php para comprender la función imap_append() y el parámetro $ folder, y http://php.net/manual/en/function.imap-open.php para comprender cómo obtener $ ImapStream. – Cosmitar