خادم التطبيق
(1) فئة javax.mail.Properties
يتطلب JavaMail خصائص لإنشاء كائن جلسة. سيبحث عن السلسلة "mail.smtp.host"، حيث تكون قيمة الخاصية هي المضيف الذي تم إرسال البريد الإلكتروني منه.
الاستخدام:
انسخ رمز الكود كما يلي:
خصائص الدعائم = خصائص جديدة ()؛
props.put("mail.smtp.host", "smtp.163.com");// يمكنك استبداله باسم مضيف SMTP الخاص بك.
انسخ رمز الكود كما يلي:
خصائص الدعائم = خصائص جديدة ()؛
props.put("mail.smtp.host", "smtp.163.com");// يمكنك استبداله باسم مضيف SMTP الخاص بك.
(2) فئة javax.mail.Session
تمثل فئة الجلسة هذه جلسة بريد إلكتروني في JavaMail. يحتوي كل تطبيق يعتمد على JavaMail على جلسة واحدة على الأقل ولكن يمكن أن يحتوي على أي عدد من الجلسات. في هذا المثال، يحتاج كائن الجلسة إلى معرفة خادم SMTP المستخدم للتعامل مع البريد.
الاستخدام:
انسخ رمز الكود كما يلي:
جلسة sendMailSession؛
sendMailSession = Session.getInstance(props, null);
انسخ رمز الكود كما يلي:
جلسة sendMailSession؛
sendMailSession = Session.getInstance(props, null);
(3) فئة javax.mail.Transport
يمكن إرسال البريد واستلامه. يستخدم JavaMail فئتين مختلفتين لإكمال هاتين الوظيفتين: يتم استخدام النقل والتخزين لإرسال الرسائل، ويتم استخدام المتجر لتلقي الرسائل. في هذا البرنامج التعليمي نحتاج فقط إلى استخدام كائن النقل.
الاستخدام:
انسخ رمز الكود كما يلي:
النقل النقل
النقل = sendMailSession.getTransport("smtp");
انسخ رمز الكود كما يلي:
النقل النقل
النقل = sendMailSession.getTransport("smtp");
استخدم طريقة getTransport لكائن جلسة JavaMail لتهيئة النقل. تعلن السلسلة التي تم تمريرها عن البروتوكول الذي سيتم استخدامه بواسطة الكائن، مثل "smtp". وهذا سيوفر لنا الكثير من الوقت. لأن JavaMail يحتوي على العديد من طرق تنفيذ البروتوكول.
ملاحظة: لا يدعم JavaMail كل البروتوكولات بشكل كامل، فهو يدعم حاليًا IMAP وSMTP وPOP3.
(4) فئة javax.mail.MimeMessage
سيقوم كائن الرسالة بتخزين رسالة البريد الإلكتروني الفعلية التي أرسلناها. يتم إنشاء كائن الرسالة ككائن MimeMessage ويحتاج إلى معرفة جلسة JavaMail التي يجب تحديدها.
الاستخدام:
انسخ رمز الكود كما يلي:
الرسالة newMessage = new MimeMessage(sendMailSession);
انسخ رمز الكود كما يلي:
الرسالة newMessage = new MimeMessage(sendMailSession);
الرسالة newMessage = new MimeMessage(sendMailSession);
(5) فئة javax.mail.InternetAddress
بمجرد إنشاء الجلسة والرسالة وملء محتوى الرسالة، يمكنك استخدام العنوان لتحديد عنوان الرسالة. مثل الرسالة، العنوان هو أيضًا فئة مجردة. أنت تستخدم فئة Javax.mail.internet.InternetAddress.
الاستخدام:
انسخ رمز الكود كما يلي:
InternetAddress from=new InternetAddress("[email protected]");
انسخ رمز الكود كما يلي:
InternetAddress from=new InternetAddress("[email protected]");
(6) فئة javax.mail.Store
تنفذ فئة المتجر عمليات مثل القراءة والكتابة والمراقبة والبحث على بروتوكولات بريد إلكتروني محددة. يمكن الوصول إلى فئة Javax.mail.Folder من خلال فئة Javax.mail.Store.
الاستخدام:
انسخ رمز الكود كما يلي:
Store store=s.getSorte("pop3");//s عبارة عن جلسة بريد إلكتروني
store.connect(popserver,username,password);// قم بتسجيل الدخول إلى صندوق البريد الخاص بك من خلال عنوان البوب واسم المستخدم وكلمة المرور التي قدمتها
انسخ رمز الكود كما يلي:
Store store=s.getSorte("pop3");//s عبارة عن جلسة بريد إلكتروني
store.connect(popserver,username,password);// قم بتسجيل الدخول إلى صندوق البريد الخاص بك من خلال عنوان البوب واسم المستخدم وكلمة المرور التي قدمتها
(7) فئة javax.mail.Folder
يتم استخدام فئة المجلد لتنظيم رسائل البريد الإلكتروني بشكل هرمي وتوفر القدرة على الوصول إلى رسائل البريد الإلكتروني بتنسيق Javax.mail.Message.
الاستخدام:
انسخ رمز الكود كما يلي:
Folder Folder=store.getFolder("INBOX");
Folder.open(Folder.READ_ONLY);
انسخ رمز الكود كما يلي:
Folder Folder=store.getFolder("INBOX");
Folder.open(Folder.READ_ONLY);
(8) javax.mail.Internet.MimeMultpart
الحاوية التي تحفظ محتوى البريد الإلكتروني عمومًا هي فئة مجردة متعددة الأجزاء، والتي تحدد طرق إضافة وحذف والحصول على أجزاء مختلفة من البريد الإلكتروني نظرًا لأن Multipart عبارة عن فئة مجردة، فيجب علينا استخدام فئة فرعية محددة لها، وتوفر JavaMail API javax.mail.Internet.MimeMultpart لاستخدام كائنات MimeMessage.
الاستخدام:
انسخ رمز الكود كما يلي:
MimeMultipart multipart=new MimeMultipart();
انسخ رمز الكود كما يلي:
MimeMultipart multipart=new MimeMultipart();
ملاحظة: إحدى الطرق التي نستخدم بها كائن MimeMultipart هي addBodyPart()، والتي تضيف كائن BodyPart (سيتم تقديم فئة BodyPart أدناه) في محتوى البريد الإلكتروني الخاص بنا. يمكن أن تحتوي الرسالة على أجزاء عديدة، ويمكن أن يمثل BodyPart جزءًا واحدًا.
(9) فئة javax.mail.Internet.MimeBodyPart
MimeBodyPart هي فئة فرعية من BodyPart تستخدم خصيصًا لـ mimeMessage.
يمثل كائن MimeBodyPart جزءًا من محتوى كائن MimeMessage، ويعتبر أن كل MimeBodyPart يتكون من جزأين:
⊙ نوع MIME
⊙مطابقة محتوى من هذا النوع
الاستخدام:
انسخ رمز الكود كما يلي:
MimeBodyPart mdp=new MimeBodyPart();
String text="Hello JavaMail!";
mdp.setContent(text,"text/plain");// حدد نوع MIME كنص/عادي وقم بتعيين محتوى MimeBodyPart.
انسخ رمز الكود كما يلي:
MimeBodyPart mdp=new MimeBodyPart();
String text="Hello JavaMail!";
mdp.setContent(text,"text/plain");// حدد نوع MIME كنص/عادي وقم بتعيين محتوى MimeBodyPart.
(10) فئة javax.activation.DataHandler (مضمنة في JAF)
لا تقصر واجهة برمجة تطبيقات JavaMail الرسائل على النص فقط؛ فقد يتم تضمين أي شكل من أشكال الرسائل كجزء من MimeMessage. بالإضافة إلى الرسائل النصية، من الشائع جدًا تضمينها كمرفقات ملفات كجزء من رسائل البريد الإلكتروني طريقة تتيح لنا طريقة ملائمة لاحتواء كائنات BodyPart غير النصية.
الاستخدام:
انسخ رمز الكود كما يلي:
DataHandler dh=new DataHandler(text,type);
mdp.setDatahandler(dh);//mdp هو كائن MimeBodyPart
انسخ رمز الكود كما يلي:
DataHandler dh=new DataHandler(text,type);
mdp.setDatahandler(dh);//mdp هو كائن MimeBodyPart
(11) فئة javax.activation.FileDataSource (مضمنة في JAF)
يمكن أن يمثل كائن FileDataSource الملفات والموارد المحلية التي يمكن للخادم الوصول إليها مباشرة. ويمكن إرفاق ملف محلي بكائن mimeMessage عن طريق إنشاء كائن MimeBodyPart جديد.
الاستخدام:
انسخ رمز الكود كما يلي:
MimeMultipart mm=new MimeMultipart();
MimeBodyPart mdp=new MimeBodyPart();
FileDataSource fds=new FileDataSource("c:/exam.txt");
mdp.setDataHandler(new DataHandler(fds)); // تعيين مصدر البيانات
mm.addBodyPart(mdp); // أضف MimeBodyPart إلى كائن MimeMultipart للرسالة الحالية
انسخ رمز الكود كما يلي:
MimeMultipart mm=new MimeMultipart();
MimeBodyPart mdp=new MimeBodyPart();
FileDataSource fds=new FileDataSource("c:/exam.txt");
mdp.setDataHandler(new DataHandler(fds)); // تعيين مصدر البيانات
mm.addBodyPart(mdp); // أضف MimeBodyPart إلى كائن MimeMultipart للرسالة الحالية
(12) فئة javax.activation.URLDataSource (مضمنة في JAF)
يتم تمثيل الموارد البعيدة، التي لا يشير إليها عنوان URL، بواسطة كائن URLDataSource. يمكن إرفاق مورد بعيد بكائن mimeMessage عن طريق إنشاء كائن mimeBodyPart جديد (مشابه لـ FileDataSource).
الاستخدام:
انسخ رمز الكود كما يلي:
// الاختلاف الوحيد عن FileDataSource هو إعداد مصدر البيانات:
URLDataSource uds=new URLDataSource("/JAVA/UploadFiles_6441/200703/20070320105128501.gif");