התחבר לשרתים של IMAP בפייתון
Aspose.Email עבור פייתון דרך .NET כולל את ImapClient מחלקה, המאפשרת למפתחים להתחבר לשרתי דוא"ל באמצעות IMAP (Internet Message Access Protocol). מחלקה זו מאפשרת ניהול דוא"ל מאובטח ויעיל בתוך יישומי פייתון, כולל אחזור, קריאה, העברה, מחיקה ועדכון הודעות דוא"ל.
באמצעות לקוח ה‑IMAP, ניתן לאמת משתמשים, לנהל תיקיות בתיבת הדואר, להתחבר דרך SSL, להגדיר פיקוחות מותאמים, ולגשת לחשבונות דוא"ל דרך שרתי פרוקסי או אימות CRAM-MD5.
חיבור IMAP בסיסי
כדי להתחבר לשרת IMAP באמצעות Aspose.Email, פעל בשלושה שלבים פשוטים:
- צור מופע של ImapClient מחלקה.
- ציין את שם המארח, הפורט, שם המשתמש והסיסמה.
- ציין את אפשרות האבטחה הרצויה.
דוגמת הקוד שלהלן מציגה כיצד להתחבר לשרת IMAP תכנותית:
import aspose.email as ae
client = ae.clients.imap.ImapClient("imap.domain.com", 993, "user@domain.com", "pwd")
הפעלת SSL לחיבורים ל‑IMAP
כדי להתחבר לשרת IMAP עם SSL, הגדר את security_options מאפיין ל‑SSLImplicit:
import aspose.email as ae
client = ae.clients.imap.ImapClient("imap.domain.com", 993, "user@domain.com", "pwd")
# Set the security mode to implicit
client.security_options = ae.clients.SecurityOptions.SSL_EXPLICIT
התחברות דרך פרוקסי SOCKS
Aspose.Email תומכת ב‑SOCKS גרסאות 4, 4a, ו‑5 לחיבורים דרך פרוקסי. השתמש בצעדים הבאים להתחברות דרך פרוקסי SOCKS:
import aspose.email as ae
client = ae.clients.imap.ImapClient("imap.domain.com", "username", "password")
client.security_options = ae.clients.SecurityOptions.AUTO
proxy = ae.clients.SocksProxy("192.168.203.142", 1080, ae.clients.SocksVersion.SOCKS_V5)
client.proxy = proxy
client.select_folder("Inbox")
התחברות לשרת דרך פרוקסי HTTP
Aspose.Email גם מאפשרת חיבורים ל‑IMAP דרך פרוקסי HTTP:
import aspose.email as ae
client = ae.clients.imap.ImapClient("imap.domain.com", "username", "password")
client.proxy = ae.clients.HttpProxy("18.222.124.59", 8080)
client.select_folder("Inbox")
גישה לתיבת דואר במצב קריאה בלבד
כדי למנוע שינויים בתוכן תיבת הדואר, הפעל מצב קריאה בלבד. ה- read_only מאפיין המוגדר ל-True מצביע שהשינויים אינם מותרים. דוגמת הקוד שלהלן מציגה כיצד להשתמש במאפיין זה בפרויקט:
import aspose.email as ae
client = ae.clients.imap.ImapClient("imap.domain.com", 993, "user@domain.com", "pwd")
client.security_options = ae.clients.SecurityOptions.SSL_EXPLICIT
client.read_only = True
שימוש באימות CRAM-MD5
לשיפור האבטחה, הגדר את הלקוח להשתמש באימות CRAM-MD5:
דוגמת הקוד שלהלן מציגה כיצד להגדיר את הלקוח לקבלת CRAM-MD5 כאחד משיטות האימות הנתמכות להתחברות לשרת IMAP:
import aspose.email as ae
client = ae.clients.imap.ImapClient("imap.domain.com", 993, "user@domain.com", "pwd")
client.allowed_authentication = ae.clients.imap.ImapKnownAuthenticationType.CRAM_MD5
הגדרת פיקוח פעולה
מנע מהלקוח להמתין ללא גבול על ידי הגדרת פיקוח (במילישניות):
קטע הקוד הבא מראה כיצד להגדיר תקופת פיקוח של 60,000 מילישניות (60 שניות) שהלקוח ימתין לתשובת השרת:
import aspose.email as ae
client = ae.clients.imap.ImapClient("imap.domain.com", 993, "user@domain.com", "pwd", ae.clients.SecurityOptions.SSL_IMPLICIT)
# 60 seconds
client.timeout = 60000
הגדרת זמן פיקוח על ברכה
שלוט במשך הזמן שהלקוח ממתין במהלך החזקה הראשונית עם שרת הדואר.
קטע הקוד הבא מראה כיצד להגביל את זמן הפיקוח של תקופת קבלת הברכה באמצעות המאפיין greeting_timeout של ה- ImapClient מחלקה:
import aspose.email as ae
client = ae.clients.imap.ImapClient("imap.domain.com", 993, "user@domain.com", "pwd")
client.greeting_timeout = 4000
client.select_folder(ae.clients.imap.ImapFolderInfo.IN_BOX)
השתמש ב‑TLS עם לקוח ה‑IMAP
Aspose.Email תומכת ב‑TLS ו‑SSL לתקשורת מאובטחת. השתמש ב- supported_encryption מאפיין להגדרת גרסאות פרוטוקול קבילות.
הערה: ניתן להגדיר רק את גרסאות הפרוטוקול הנתמכות על ידי .NET Framework. אם גרסאות מסוימות של פרוטוקול אינן נתמכות בגרסה הנוכחית שלך של .NET Framework, הן יתעלמו וידולגו. זה עלול לגרום להורדת רמת האבטחה של TLS. במקרה זה, לא ייווצרו חריגות. אנא השתמש בשיטה ‘set_supported_encryption_unsafe(value)’ אם ברצונך להגדיר את הפרוטוקולים ללא בדיקות התאמה.
דוגמת הקוד שלהלן מראה כיצד להגדיר TLS 1.3 עבור ImapClient מופע של מחלקה.
import aspose.email as ae
client = ae.clients.imap.ImapClient("imap.domain.com", 993, "user@domain.com", "pwd", ae.clients.SecurityOptions.SSL_IMPLICIT)
client.supported_encryption = ae.clients.base.EncryptionProtocols.TLS13
במקרה שבו פרוטוקול ההצפנה שצוין אינו נתמך בגרסה הנוכחית של .NET Framework, ההבדל בהתנהגות בין השיטה set_supported_encryption_unsafe(value) למאפיין supported_encryption הוא כדלקמן:
- אם נעשה שימוש במאפיין supported_encryption, לקוח הדוא"ל יוריד את פרוטוקול ההצפנה לרמה נתמכת.
- אם נעשה שימוש בשיטה set_supported_encryption_unsafe(value), לקוח הדוא"ל יזרוק חריגות.
אימות פרטי שרת IMAP
כדי להקים חיבור מאובטח לשרת IMAP לפני ביצוע פעולות נוספות, נתוני האימות של המשתמש נבדקים ומאומתים. שיטת validate_credentials של ה- ImapClient המחלקה מסייעת לבדוק אם שם המשתמש והסיסמה שסופקו נכונים. אם האימותים תקינים, הלקוח יכול לאמת בהצלחה עם שרת IMAP. דוגמת הקוד שלהלן מציגה כיצד ליישם שיטה זו בפרויקט שלך:
import aspose.email as ae
with ae.clients.imap.ImapClient("your imap server", 993, "your username", "your password", ae.clients.SecurityOptions.AUTO) as client:
client.timeout = 4000
if client.validate_credentials():
# Further actions
הפעלת רישום פעילות IMAP
תיעוד פעילות כולל רישום חיבורי שרת, פרטי העברה של הודעות שנשלחו והתקבלו, הודעות שגיאה במהלך עיבוד הדוא"ל, וכל פעולה אחרת שבוצעה על ידי הלקוח או השרת. כדי לעקוב אחר פעילות לקוח IMAP והאינטראקציות עם השרת, השתמש בדוגמת הקוד הבאה שמשתמש במאפיין log_file_name של ה- ImapClient מחלקה לרישום המידע לקובץ הלוג המוגדר:
import aspose.email as ae
client = ae.clients.imap.ImapClient("imap.domain.com", 993, "user@domain.com", "pwd", ae.clients.SecurityOptions.SSL_IMPLICIT)
# Set the path to the log file using the LogFileName property.
client.log_file_name = "C:\\Aspose.Email.IMAP.log"
# Set the UseDateInLogFileName property if it is necessary.
client.use_date_in_log_file_name = False