logo

إرسال البريد الإلكتروني في جافا

  1. إرسال البريد الإلكتروني باستخدام JavaMail API
  2. خطوات إرسال البريد الإلكتروني باستخدام JavaMail API
    1. احصل على كائن الجلسة
    2. قم بتأليف الرسالة
    3. أرسل الرسالة
  3. مثال بسيط لإرسال البريد الإلكتروني باستخدام JavaMail API
  4. مثال على إرسال البريد الإلكتروني باستخدام JavaMail API من خلال خادم SMTP الذي يوفره الموفر المضيف

هناك طرق مختلفة لإرسال البريد الإلكتروني باستخدام JavaMail API. ولهذا الغرض، يجب أن يكون لديك خادم SMTP مسؤول عن إرسال الرسائل.

يمكنك استخدام أحد الأساليب التالية للحصول على خادم SMTP:

  • تثبيت واستخدام أي خادم SMTP مثل خادم Postcast، وخادم Apache James، وخادم cmail وما إلى ذلك (أو)
  • استخدم خادم SMTP الذي يوفره موفر المضيف، على سبيل المثال. خادم SMTP الخاص بي هو mail.javatpoint.com (أو)
  • استخدم خادم SMTP الذي توفره شركات أخرى، على سبيل المثال. جوجل الخ

سنتعلم هنا ثلاثة طرق لإرسال البريد الإلكتروني باستخدام javamail API. ولكن يجب أن نتعلم الخطوات الأساسية لإرسال البريد الإلكتروني من تطبيق جافا.


خطوات إرسال البريد الإلكتروني باستخدام JavaMail API

هناك ثلاث خطوات التالية لإرسال البريد الإلكتروني باستخدام JavaMail. وهم على النحو التالي:

    احصل على كائن الجلسةيقوم بتخزين جميع معلومات المضيف مثل اسم المضيف واسم المستخدم وكلمة المرور وما إلى ذلك.قم بتأليف الرسالة أرسل الرسالة


1) الحصول على كائن الجلسة

ال javax.mail.فئة الجلسة يوفر طريقتين للحصول على كائن الجلسة، طريقة Session.getDefaultInstance() وطريقة Session.getInstance(). يمكنك استخدام أي طريقة للحصول على كائن الجلسة.

طريقة فئة الجلسة

لا.طريقةوصف
1getDefaultInstance الجلسة الثابتة العامة (دعائم الخصائص)إرجاع الجلسة الافتراضية.
2getDefaultInstance الجلسة الثابتة العامة (خصائص الدعائم، مصادقة المصادقة)إرجاع الجلسة الافتراضية.
3getInstance للجلسة الثابتة العامة (دعائم الخصائص)إرجاع الجلسة الجديدة.
4getInstance للجلسة الثابتة العامة (دعائم الخصائص، مصادقة المصادقة)إرجاع الجلسة الجديدة.

مثال على طريقة 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مجموعة الفراغ العام من (عنوان العنوان)يستخدم لتعيين الحقل من الرأس.
2addRecipient العام (نوع الرسالة.RecipientType، عنوان العنوان)يستخدم لإضافة العنوان المحدد إلى نوع المستلم.
3addRecipients باطلة عامة (نوع الرسالة. نوع المستلم، عناوين العنوان [])يستخدم لإضافة العناوين المحددة إلى نوع المستلم.
4مجموعة الفراغ العام (موضوع السلسلة)يستخدم لتعيين حقل رأس الموضوع.
5مجموعة النص الفارغة العامة (رسالة نصية سلسلة)يُستخدم لتعيين النص كمحتوى الرسالة باستخدام نوع MIME نص/عادي.
6مجموعة الفراغات العامة (رسالة الكائن، نوع محتوى السلسلة)يستخدم لتعيين المحتوى كمحتوى الرسالة باستخدام نوع 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); 

مثال بسيط لإرسال البريد الإلكتروني في جافا

قم بتنزيل ملفات jar هذه أو انتقل إلى موقع Oracle لتنزيل أحدث إصدار.
في هذا المثال، سنتعلم كيفية إرسال البريد الإلكتروني عبر خادم SMTP المثبت على الجهاز، على سبيل المثال. خادم Postcast، خادم Apache James، خادم Cmail وما إلى ذلك. إذا كنت تريد إرسال بريد إلكتروني باستخدام خادم SMTP الذي يوفره موفر المضيف، فراجع المثال التالي.
لإرسال البريد الإلكتروني باستخدام JavaMail API، تحتاج إلى تحميل ملفي jar:
mail.jar
تفعيل.جرة
 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 المثبت على الجهاز، على سبيل المثال. خادم Postcast، خادم Apache James، خادم Cmail وما إلى ذلك. إذا كنت تريد إرسال بريد إلكتروني باستخدام خادم SMTP الذي يوفره موفر المضيف، فراجع المثال التالي.

لتشغيل هذا المثال، تحتاج إلى تحميل ملفين jar. هناك 4 طرق لتحميل ملف الجرة. إحدى الطرق هي تعيين مسار الفصل. دعونا نرى كيفية تشغيل هذا المثال:

قم بتحميل ملف الجرةج:> set classpath=mail.jar;activation.jar;.;
تجميع الملف المصدرج:> جافا SendEmail.java
التي تديرهاج:> جافا إرسال البريد الإلكتروني

مثال على إرسال بريد إلكتروني بلغة Java من خلال خادم SMTP المقدم من الموفر المضيف

قم بتنزيل ملفات jar هذه أو انتقل إلى موقع Oracle لتنزيل أحدث إصدار.
إذا كنت تستخدم خادم SMTP الذي يوفره موفر المضيف، على سبيل المثال. mail.javatpoint.com، فأنت بحاجة إلى مصادقة اسم المستخدم وكلمة المرور. يتم استخدام فئة javax.mail.PasswordAuthentication لمصادقة كلمة المرور.
إذا كنت ترسل البريد الإلكتروني باستخدام JavaMail API، فقم بتحميل ملفي jar:
mail.jar
تفعيل.جرة
 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();} } } 
قم بتنزيل هذا المثال لإرسال البريد الإلكتروني

كما ترون في المثال أعلاه، يجب مصادقة معرف المستخدم وكلمة المرور. وكما يوضح هذا البرنامج، يمكنك إرسال البريد الإلكتروني بسهولة. قم بتغيير اسم المستخدم وكلمة المرور وفقًا لذلك. دعونا نرى كيفية تشغيله مرة أخرى بتقنية بسيطة:

قم بتحميل ملف الجرةج:> set classpath=mail.jar;activation.jar;.;
تجميع الملف المصدرج:> javac SendMailBySite.java
التي تديرهاج:> جافا SendMailBySite