התחבר לשרת POP3
ה Pop3Client המחלקה מאפשרת ליישומים לנהל תיבות דואר באמצעות Post Office Protocol, גרסה 3 (POP3). כדי להתחבר לשרת, השתמש ב‑ Pop3Client מחלקה. ה- Pop3Client המחלקה היא הכניסה המרכזית למפתחים המעוניינים להוסיף ניהול POP3 ליישומי .NET שלהם. מאמר זה מסביר כיצד להשתמש בה. להתחברות לשרת POP3:
- צור מופע של Pop3Client מחלקה.
- ציין את המארח, שם המשתמש והסיסמה ב‑ Pop3Client מופע.
הקטע הקוד שלהלן מציג כיצד להתחבר לשרת POP3.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client();
// Specify host, username, password, Port and SecurityOptions for your client
client.setHost("pop.gmail.com");
client.setUsername("your.username@gmail.com");
client.setPassword("your.password");
client.setPort(995);
client.setSecurityOptions(SecurityOptions.Auto);
System.out.println("Connected to POP3 server.");
התחברות לשרת SSL
התחברות לשרת POP3 הוסבר כיצד להתחבר לשרת POP3 בשלושה שלבים פשוטים:
- צור מופע של Pop3Client מחלקה.
- ציין את המארח, שם המשתמש והסיסמה.
התהליך להתחברות לשרת POP3 עם SSL דומה אך דורש להגדיר כמה מאפיינים נוספים:
- SecurityOptions
- פורט
כדי להתחבר לשרת POP3 עם SSL, השתמש ב‑ Pop3Client מחלקה והגדר את SecurityOptions ומאפייני פורט. הקטע הקוד שלהלן מציג כיצד להתחבר לשרת POP3 עם SSL.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client();
// Specify host, username and password, Port and SecurityOptions for your client
client.setHost("pop.gmail.com");
client.setUsername("your.username@gmail.com");
client.setPassword("your.password");
client.setPort(995);
client.setSecurityOptions(SecurityOptions.Auto);
System.out.println("Connecting to POP3 server using SSL.");
התחברות לשרת APOP
POP הוא קיצור של Post Office Protocol. APOP הוא קיצור של Authenticated Post Office Protocol. APOP הוא גרסה מורחבת של הגדרות שרת POP3 המשמשת להצפנת שם המשתמש והסיסמה שלך ומשתמשת במנגנון אימות המיועד להגן על סיסמת חשבון POP3 שלך בעת בדיקת אימייל. אימות APOP אינו דורש שליחת סיסמת החשבון כטקסט גלוי לשרת הדואר POP3.
התחברות לשרת דרך פרוקסי
שרתים פרוקסי נפוצים מאוד לתקשורת עם העולם החיצון. במקרים כאלה, כתובות הפרוקסי משמשות לקוחות דואר לגישה לתיבות הדואר דרך האינטרנט. Aspose.Email תומך בגרסאות 4, 4a ו‑5 של פרוטוקול הפרוקסי SOCKS. מאמר זה מציג דוגמה עובדת של שליפת אימייל באמצעות שרת דואר פרוקסי. כדי לשאוב אימייל דרך פרוקסי:
- אתחול פרוקסי עם המידע הנדרש, כלומר כתובת הפרוקסי, הפורט וגירסת SOCKS.
- אתחול Pop3Client עם כתובת המארח, שם משתמש, סיסמה, וכל ההגדרות האחרות.
- הגדר את מאפיין הפרוקסי של הלקוח ל‑ פרוקסי אובייקט שנוצר למעלה.
הקטע הקוד שלהלן מציג כיצד לשאוב אימיילים דרך פרוקסי.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client("pop.domain.com", "username", "password");
// Set proxy address, Port and Proxy
String proxyAddress = "192.168.203.142";
int proxyPort = 1080;
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);
Pop3MailboxInfo mailboxInfo = client.getMailboxInfo();
התחברות לשרת דרך פרוקסי HTTP
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
try (Pop3Client client = new Pop3Client("imap.domain.com", "username", "password")) {
client.setProxy(proxy);
Pop3MailboxInfo mailboxInfo = client.getMailboxInfo();
}
התאמת מנגנון האימות
קבל את רשימת מנגנוני האימות הנתמכים על ידי שרת ה‑POP3 באמצעות ה‑ getSupportedAuthentication שיטה של Pop3Client מחלקה. מתודה זו מאפשרת ללקוח לקבוע אילו שיטות אימות זמינות להקמת חיבור מאובטח עם השרת. לאחר מכן, באמצעות ה‑ setAllowedAuthentication מתודה שמקבלת (או מגדירה) מונה של סוגי האימות המותרים למשתמש, בחרו במנגנון האימות המתאים ביותר לתקשורת לקוח‑שרת. מאפשר להגדיר באופן מפורש את שיטת האימות עבור לקוח הדואר.
דוגמת הקוד שלהלן מציגה כיצד להתאים אישית את אימות לקוח האימייל:
pop3Client.setAllowedAuthentication(Pop3KnownAuthenticationType.Plain);
תמיכה בפרוטוקול OAuth 2.0 עבור הרשאה
OAuth 2.0 מספק הרשאה
Pop3Client תומך ב‑OAuth 2.0 ומספק דרכי הרשאה ספציפיות ליישומים. הקונסטרוקטורים הבאים משמשים לאתחול POP3Client באמצעות OAuth:
public Pop3Client(
String host, /*The host name*/
int port, /*The port number*/
String username, /*The user name*/
ITokenProvider tokenProvider, /*TokenProvider allowing to retrieve access token*/
/*SecurityOptions*/int securityOptions) /*Security mode for a mail client*/
public Pop3Client(
String host, /*The host name*/
int port, /*The port number*/
String username, /*The user name*/
String authInfo, /*The user password or XOAUTH2 access token*/
boolean useOAuth, /*Defines whether SASL XOAUTH2 mechanism is used to login to the server*/
/*SecurityOptions*/int securityOptions) /*Security mode for a mail client*/
אימות אישורי שרת המייל ללא שליחת אימייל
לפעמים יש צורך לאמת אישורים ללא שליחת אימייל. Aspose.Email מספקת את validateCredentials() method לביצוע פעולה זו. אם האימות מצליח, הקוד בתוך תנאי ה‑if מתבצע, בדרך כלל לשימוש לפעולות נוספות או לאחזור נתונים משרת IMAP. קטע הקוד הבא מדגים אימות של אישורים ללא שליחת אימייל:
try (Pop3Client pop3Client = new Pop3Client(
server.Pop3Url, server.Pop3Port, "userName", "password", SecurityOptions.Auto)) {
pop3Client.setTimeout(4000);
if (pop3Client.validateCredentials()) {
// to do something
}
}
שימוש באימות CRAM‑MD5 לחיבור לשרת
כדי להבטיח אימות ותקשורת בטוחה עם שרת ה‑POP3, ניתן לציין ולאכוף את השימוש ב‑CRAM‑MD5 כשיטת האימות המותרת ללקוח ה‑POP3. הקטע הקוד הבא מציג כיצד להגדיר את סוג האימות המותר עבור ה‑ Pop3Client:
popClient.setAllowedAuthentication(Pop3KnownAuthenticationType.CramMD5);
כיצד להגדיר זמן קצוב לפעולות דואר
כל פעולת דואר לוקחת זמן מסוים בהתאם למגוון גורמים (עיכובי רשת, גודל הנתונים, ביצועי השרת, וכו’). ניתן להגדיר זמן קצוב לכל פעולות הדואר. דוגמת הקוד שלהלן מראה כיצד לבצע זאת באמצעות זמן קצוב מאפיין. הערה: אין להגדיר ערכים גדולים כדי למנוע המתנה ארוכה באפליקציה שלך.
try (Pop3Client pop3Client = new Pop3Client("host", 995, "username", "password", SecurityOptions.Auto))
{
pop3Client.setTimeout(60000); // 60 seconds
// some code...
}