Ir al contenido

POP3 Read

Tipo: pop3-read  ·  Paquete: SMTP / IMAP Email Activities v1.0.5  ·  Salida: List<ZoanMail>

Lee correos de un servidor POP3 y devuelve una lista de mensajes (ZoanMail). POP3 es un protocolo antiguo y limitado: no soporta carpetas, filtros ni estado de leído.

Se conecta al servidor (por defecto puerto 995 con ssl), inicia sesión, cuenta los mensajes del buzón y descarga los limit más recientes (por defecto 10). Leer no borra los correos del servidor ni cambia nada: para retirarlos usa POP3 Delete.

Como POP3 no guarda estado, cada lectura devuelve los mismos correos mientras sigan en el buzón. Para no procesar dos veces, elimina lo procesado o guarda en otro lado qué ya tomaste (por ejemplo, el asunto y la fecha).

ParámetroTipoPor defectoDescripción
hoststring—Servidor POP3 (ej. pop.gmail.com).
usernamestring—Usuario.
passwordstring—Contraseña o App Password, como texto: usa credential("nombre")["password"] (o credential("nombre")["value"] si la credencial tiene un solo valor).
ParámetroTipoPor defectoDescripción
portint995Puerto POP3. Con TLS: 995; sin cifrar o con starttls: 110.
limitint10Máximo de correos a devolver (los más recientes).
includeAttachmentsboolfalseDescarga el contenido de los adjuntos en .Attachments (nombre, tipo MIME y bytes).
securitystring"ssl"Cifrado: auto, none, ssl o starttls. Ver Cifrado y puertos.
acceptInvalidCertsboolfalseAcepta certificados TLS no confiables (autofirmados), útil en servidores de prueba. No lo actives contra servidores de producción.

Devuelve una List<ZoanMail> con hasta limit correos, del más antiguo al más reciente dentro de ese grupo. Cada correo trae:

PropiedadContenido
.IdÍndice del mensaje en el buzón, desde 0 (texto numérico). Úsalo como mailId en POP3 Delete.
.Subject, .From, .To, .CcAsunto, dirección del remitente y direcciones de destinatarios.
.Body / .IsHtmlTexto plano del correo; si solo trae HTML, el HTML con .IsHtml = true.
.SentAtFecha del encabezado Date (fecha de envío).
.IsReadSiempre false (POP3 no tiene estado de lectura).
.AttachmentsAdjuntos con contenido si includeAttachments = true; si no, vacío.

Si el buzón está vacío, devuelve una lista vacía.

MensajeCausa y solución
'host' es obligatorio. (y lo mismo con username, password)Falta el parámetro o la expresión dio null.
Error de autenticación del servidorUsuario o contraseña incorrectos, App Password requerida o POP3 deshabilitado en la cuenta. Si pasaste credential("nombre") sin ["password"], se envía un texto que no es la contraseña.
Error de conexión o de TLSHost o puerto equivocados, security no corresponde al puerto, o el certificado del servidor no es confiable (en un servidor de prueba, acceptInvalidCerts = true).
POP3 Read host = "pop.gmail.com" username = credential("correo-bot")["user"] password = credential("correo-bot")["password"] limit = 20 → output: correos
For Each items = correos itemVariable = correo
└─ activities:
Log message = correo.SentAt.ToString("yyyy-MM-dd HH:mm") + " · " + correo.From + " — " + correo.Subject
  • IMAP Read — alternativa recomendada, con carpetas y filtros.
  • POP3 Delete — eliminar un correo leído.