Un proxy HTTP dans une connexion ImapFlow
Ajoutez l'option proxy d'ImapFlow à une connexion IMAP existante et vérifiez si l'intermédiaire autorise le port de la boîte aux lettres.
Ajoutez proxy à côté des paramètres de la boîte aux lettres lorsque ImapFlow doit joindre un serveur IMAP via un proxy HTTP CONNECT :
import { ImapFlow } from 'imapflow';
const client = new ImapFlow({
host: 'imap.example',
port: 993,
secure: true,
auth: mailboxCredentials,
proxy: 'http://proxy.example:8080',
});
mailboxCredentials contient le compte IMAP de l'application. Utilisez ce client pour la séquence existante de connexion, de travail sur la boîte aux lettres et de déconnexion ou de nettoyage après échec. Pour un service de messagerie accessible publiquement où un intermédiaire public est autorisé, la liste de proxys HTTP fournit des candidats pour l'URL du proxy sans identifiants de proxy ; vérifiez l'accès à l'hôte et au port IMAP réels.
Deux détails à vérifier
- Le port du tunnel est 993. Le proxy doit autoriser CONNECT vers imap.example:993. Un intermédiaire qui n'autorise les tunnels de sites web que sur 443 peut rejeter cette demande même avec des identifiants de proxy valides.
- La boîte aux lettres reste protégée par TLS. secure: true s'applique à la connexion de la boîte aux lettres. Le schéma http de l'URL du proxy désigne l'écouteur de l'intermédiaire, non un remplacement du nom d'hôte IMAP.
Si l'intermédiaire exige une connexion, fournissez son compte via le format d'URL de proxy pris en charge par ImapFlow. Conservez le compte de la boîte aux lettres dans auth. Cet exemple utilise le chemin proxy standard de Node ; le transport d'exécution personnalisé d'ImapFlow ne peut pas être combiné avec proxy.