- שליחת דואר אלקטרוני באמצעות JavaMail API
- שלבים לשליחת דואר אלקטרוני באמצעות JavaMail API
- קבל את אובייקט הפגישה
- כתוב את ההודעה
- לשלוח את ההודעה
- דוגמה פשוטה לשליחת דואר אלקטרוני באמצעות JavaMail API
- דוגמה לשליחת דואר אלקטרוני באמצעות JavaMail API דרך שרת ה-SMTP שסופק על ידי ספק המארח
ישנן דרכים שונות לשלוח דואר אלקטרוני באמצעות JavaMail API. לצורך כך, עליך להחזיק בשרת SMTP שאחראי על שליחת מיילים.
אתה יכול להשתמש באחת מהטכניקות הבאות כדי להשיג את שרת ה-SMTP:
- התקן והשתמש בכל שרת SMTP כגון שרת Postcast, שרת Apache James, שרת cmail וכו' (או)
- השתמש בשרת ה-SMTP שסופק על ידי ספק המארח, למשל. שרת ה-SMTP שלי הוא mail.javatpoint.com (או)
- השתמש בשרת SMTP שסופק על ידי חברות אחרות, למשל. gmail וכו'
כאן, אנו הולכים ללמוד למעלה שלוש גישות לשליחת דוא'ל באמצעות javamail API. אבל עלינו ללמוד את השלבים הבסיסיים לשליחת דואר אלקטרוני מאפליקציית Java.
שלבים לשליחת דואר אלקטרוני באמצעות JavaMail API
ישנם שלושה שלבים הבאים לשליחת דואר אלקטרוני באמצעות JavaMail. הם כדלקמן:
קבל את אובייקט הפגישה | שמאחסן את כל המידע של המארח כמו שם מארח, שם משתמש, סיסמה וכו'.
לחבר את ההודעה |
לשלוח את ההודעה |
1) קבל את אובייקט הפגישה
ה כיתה javax.mail.Session מספק שתי שיטות להשגת אובייקט ההפעלה, שיטת Session.getDefaultInstance() ושיטת Session.getInstance(). אתה יכול להשתמש בכל שיטה כדי לקבל את אובייקט ההפעלה.
שיעור שיטת הפגישה
לא. | שיטה | תיאור |
1 | Session סטטי ציבורי getDefaultInstance (אביזרי מאפיינים) | מחזיר את הפעלת ברירת המחדל. |
2 | הפעלה סטטית ציבורית getDefaultInstance (אביזרי מאפיינים, אימות מאמת) | מחזיר את הפעלת ברירת המחדל. |
3 | הפעלה סטטית ציבורית getInstance (אביזרים של מאפיינים) | מחזיר את ההפעלה החדשה. |
4 | הפעלה סטטית ציבורית getInstance (אביזרים של מאפיינים, אימות מאמת) | מחזיר את ההפעלה החדשה. |
דוגמה לשיטת getDefaultInstance()
Properties properties=new Properties(); //fill all the information like host name etc. Session session=Session.getDefaultInstance(properties,null);
דוגמה לשיטת getInstance()
Properties properties=new Properties(); //fill all the information like host name etc. Session session=Session.getInstance(properties,null);
2) כתוב את ההודעה
המחלקה javax.mail.Message מספקת שיטות לחיבור ההודעה. אבל זה מחלקה אבסטרקטית אז תת המחלקה שלה javax.mail.internet.MimeMessage משמשת בעיקר. |
כדי ליצור את ההודעה, עליך להעביר אובייקט הפעלה בבנאי המחלקה MimeMessage. לדוגמה: |
MimeMessage message=new MimeMessage(session);
כעת נוצר אובייקט הודעה, אך כדי לאחסן מידע באובייקט זה, מחלקת MimeMessage מספקת שיטות רבות. בוא נראה שיטות המסופקות על ידי מחלקת MimeMessage: |
שיטות נפוצות של מחלקת MimeMessage
לא. | שיטה | תיאור |
1 | public void setFrom(כתובת כתובת) | משמש להגדרת שדה הכותרת מאת. |
2 | public void addRecipient (סוג הודעה.RecipientType, כתובת כתובת) | משמש להוספת הכתובת הנתונה לסוג הנמען. |
3 | public void addRecipients (סוג הודעה.RecipientType, כתובת[] כתובות) | משמש להוספת הכתובות הנתונות לסוג הנמען. |
4 | public void setSubject(נושא מחרוזת) | משמש להגדרת שדה כותרת הנושא. |
5 | public void setText(הודעת טקסט מחרוזת) | משמש להגדרת הטקסט כתוכן ההודעה באמצעות טקסט/סוג MIME רגיל. |
6 | public void setContent(Object msg, String contentType) | משמש להגדרת התוכן כתוכן ההודעה באמצעות סוג MIME נתון. |
דוגמה לחיבור ההודעה:
MimeMessage message=new MimeMessage(session); message.setFrom(new InternetAddress('[email protected]')); message.addRecipient(Message.RecipientType.To, new InternetAddress('[email protected]')); message.setHeader('Hi, everyone'); message.setText('Hi, This mail is to inform you...');
3) שלח את ההודעה
מחלקת javax.mail.Transport מספקת שיטה לשליחת ההודעה. |
שיטות נפוצות של מחלקת תחבורה
לא. | שיטה | תיאור |
1 | שליחה של ריק סטטי ציבורי (הודעת הודעה) | משמש לשלוח את ההודעה. |
2 | שליחה של ריק סטטי ציבורי (הודעת הודעה, כתובת[] כתובת) | משמש לשלוח את ההודעה לכתובות הנתונות. |
דוגמה לשליחת ההודעה:
Transport.send(message);
דוגמה פשוטה לשליחת דואר אלקטרוני ב-Java
בדוגמה זו, אנו הולכים ללמוד כיצד לשלוח דואר אלקטרוני באמצעות שרת SMTP המותקן על המחשב, למשל. שרת פוסט-קאסט, שרת Apache James, שרת Cmail וכו'. אם ברצונך לשלוח דואר אלקטרוני באמצעות שרת ה-SMTP שסופק על ידי ספק המארח, ראה את הדוגמה שאחרי זה. |
כדי לשלוח את האימייל באמצעות JavaMail API, עליך לטעון את שני קבצי ה-jar:הורד את קובצי ה-jar או עבור אל אתר Oracle כדי להוריד את הגרסה העדכנית ביותר. |
import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class SendEmail { public static void main(String [] args){ String to = '[email protected]';//change accordingly String from = '[email protected]';change accordingly String host = 'localhost';//or IP address //Get the session object Properties properties = System.getProperties(); properties.setProperty('mail.smtp.host', host); Session session = Session.getDefaultInstance(properties); //compose the message try{ MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); message.setSubject('Ping'); message.setText('Hello, this is example of sending email '); // Send message Transport.send(message); System.out.println('message sent successfully....'); }catch (MessagingException mex) {mex.printStackTrace();} } }
הורד את הדוגמה הזו כדי לשלוח דוא'לבדוגמה זו, אנו הולכים ללמוד כיצד לשלוח דואר אלקטרוני באמצעות שרת SMTP המותקן על המחשב, למשל. שרת פוסט-קאסט, שרת Apache James, שרת Cmail וכו'. אם ברצונך לשלוח דואר אלקטרוני באמצעות שרת ה-SMTP שסופק על ידי ספק המארח, ראה את הדוגמה שאחרי זה.
מחרוזות מורכבות java
כדי להפעיל דוגמה זו, עליך לטעון שני קבצי jar. ישנן 4 דרכים לטעון את קובץ ה-jar. אחת הדרכים היא הגדרת classpath. בוא נראה איך להפעיל את הדוגמה הזו:
טען את קובץ ה-jar | c:> set classpath=mail.jar;activation.jar;.; |
להרכיב את קובץ המקור | c:> javac SendEmail.java |
מופעל ע'י | c:> Java SendEmail |
דוגמה לשליחת דואר אלקטרוני ב-Java דרך שרת SMTP שסופק על ידי ספק המארח
אם אתה משתמש בשרת ה-SMTP שסופק על ידי ספק המארח, למשל. mail.javatpoint.com , עליך לאמת את שם המשתמש והסיסמה. מחלקת javax.mail.PasswordAuthentication משמשת לאימות הסיסמה. |
אם אתה שולח את האימייל באמצעות JavaMail API, טען את שני קבצי ה-jar:הורד את קובצי ה-jar או עבור אל אתר Oracle כדי להוריד את הגרסה העדכנית ביותר. |
import java.util.Properties; import javax.mail.*; import javax.mail.internet.*; public class SendMailBySite { public static void main(String[] args) { String host='mail.javatpoint.com'; final String user='[email protected]';//change accordingly final String password='xxxxx';//change accordingly String to='[email protected]';//change accordingly //Get the session object Properties props = new Properties(); props.put('mail.smtp.host',host); props.put('mail.smtp.auth', 'true'); Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(user,password); } }); //Compose the message try { MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(user)); message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); message.setSubject('javatpoint'); message.setText('This is simple program of sending email using JavaMail API'); //send the message Transport.send(message); System.out.println('message sent successfully...'); } catch (MessagingException e) {e.printStackTrace();} } }
הורד את הדוגמה הזו כדי לשלוח דוא'לכפי שניתן לראות בדוגמה לעיל, יש לאמת את זיהוי המשתמש והסיסמה. כפי שתוכנית זו ממחישה, אתה יכול לשלוח דוא'ל בקלות. שנה את שם המשתמש והסיסמה בהתאם. בואו נראה איך להפעיל את זה שוב בטכניקה פשוטה:
טען את קובץ ה-jar | c:> set classpath=mail.jar;activation.jar;.; |
להרכיב את קובץ המקור | c:> javac SendMailBySite.java |
מופעל ע'י | c:> java SendMailBySite |