Saltar al contenido principal

Instalación

Uso

  • threading: 'thread' (por defecto, un chat por hilo) o 'sender' (un chat por dirección); persiste los hilos con threadStore: cursorThreadStore(store). Ese store guarda también el cursor de UID del buzón, así que tras un reinicio el bot sigue después del último mensaje que procesó y no vuelve a entregar correo (ni siquiera con markSeen: false).
  • Protección contra bucles de respuestas automáticas y listas de correo, gestión de rebotes (eventos status: 'failed', supresión de direcciones con rebote permanente).
  • El email no autentica From por sí mismo: usa requireAuthentication: { authservId } para aceptar solo correo que tu MTA haya autenticado. Las cabeceras hostiles quedan contenidas: se descartan las direcciones con caracteres de control, se ignoran los Message-ID enormes y se acota la cadena de References.
  • secure es TLS implícito (por defecto salvo en el puerto IMAP 143, y solo en el puerto SMTP 465); contra un puerto en texto plano o con STARTTLS, start()/send() rechazan con un mensaje TLS handshake failed que dice qué opción cambiar.
  • Sin IMAP, ingest(rawMime) acepta el MIME crudo de un webhook de correo entrante y resuelve { status, accepted, reason? }.
  • El transporte creado desde smtp se cierra en stop() y se reconstruye en el siguiente envío (también con pool); un smtpTransport inyectado es tuyo y stop() nunca lo cierra.

Siguientes pasos