הוסיפו proxy לצד הגדרות תיבת הדואר כאשר ImapFlow אמור להגיע לשרת IMAP דרך פרוקסי 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 מחזיק את חשבון ה-IMAP של היישום. השתמשו בלקוח הזה ברצף החיבור, העבודה עם תיבת הדואר וההתנתקות או הניקוי לאחר כשל הקיימים. עבור שירות דואר נגיש לציבור שבו מתווך ציבורי מותר, רשימת פרוקסי HTTP מספקת מועמדים לכתובת ה-URL של הפרוקסי בלי פרטי אימות של פרוקסי; בדקו גישה למארח ולפורט ה-IMAP בפועל.

שני פרטים שכדאי לבדוק

  • פורט המנהרה הוא 993. הפרוקסי חייב להתיר CONNECT אל imap.example:993. מתווך שמתיר מנהרות אתרים רק בפורט 443 עלול לדחות את הבקשה הזו גם עם פרטי אימות פרוקסי תקפים.
  • תיבת הדואר נשארת מוגנת ב-TLS. secure: true חל על חיבור תיבת הדואר. סכימת http בכתובת ה-URL של הפרוקסי מזהה את המאזין של המתווך, ולא מחליפה את שם המארח של IMAP.

אם המתווך דורש התחברות, ספקו את החשבון שלו בפורמט כתובת ה-URL של פרוקסי הנתמך ב-ImapFlow. שמרו את חשבון תיבת הדואר ב-auth. הדוגמה הזו משתמשת בנתיב הפרוקסי הסטנדרטי של Node; לא ניתן לשלב את תעבורת ה-runtime המותאמת של ImapFlow עם proxy.

מאמרים קשורים