Latest web development tutorials

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

إرسال رسالة عبر البريد الإلكتروني باستخدام بريمج بسيط جدا، ولكن أولا يجب تثبيتJavaMail API وإطار تفعيل جافا)على جهاز الكمبيوتر الخاص بكالجاف).

  • يمكنك تحميل أحدث إصدار من جافا وJavaMail ، فتح الجانب الأيمن من الصفحة هناك رابط التحميل، اضغط عليها لتحميل.
  • يمكنك تحميل أحدث إصدار من جافا (الإصدار 1.1.1) الجاف .

يمكنك أيضا استخدام الموقع لتقديم رابط التحميل:

تحميل وبفك الملفات في الدليل المستوى الأعلى التي تم إنشاؤها حديثا، وستجد بعض الملفات جرة اثنين من التطبيقات. تحتاج إلى إضافة ملفاتmail.jar وactivation.jarإلى CLASSPATH الخاص بك.

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

الأمثلة التالية إرسال رسالة بريد إلكتروني بسيط من جهاز الكمبيوتر الخاص بك. هذا يفترضالمضيف المحلي الخاص بك متصلا الدعم الإنترنت والبريد الإلكتروني.مع ضمان أن جافا حزم البريد الإلكتروني API وحزمة الجاف جميع ملفات جرة في CLASSPATH متوفرة.

// اسم الملف SendEmail.java
java.io. استيراد *؛
java.util استيراد *؛
javax.servlet استيراد *؛
javax.servlet.http استيراد *؛
javax.mail استيراد *؛
javax.mail.internet استيراد *؛
javax.activation استيراد *؛
 
الطبقة العامة SendEmail يمتد HttpServlet {
    
  doGet باطلة العامة (HttpServletRequest الطلب،
                    HttpServletResponse الاستجابة)
            يلقي ServletException، IOException
  {
      // رقم البريد الإلكتروني المستلم
      سلسلة ل= "[email protected]".
 
      // المرسل معرف البريد الإلكتروني
      سلسلة من = "[email protected]".
 
      // دعونا نقول لكم إرسال المضيف سلسلة البريد الإلكتروني = "مضيف" من المضيف المحلي؛
 
      // الحصول على خصائص النظام خصائص خصائص = System.getProperties ()؛
 
      // إعداد properties.setProperty خادم البريد ( "mail.smtp.host"، مضيفة)؛
 
      // احصل على الدورة الدورة الدورة الكائن الافتراضي = Session.getDefaultInstance (خصائص).
      
      // تعيين نوع محتوى استجابة response.setContentType ( "نص / HTML؛ محارف = UTF-8")؛
      PrintWriter خارج = response.getWriter ()؛

      محاولة {
         // إنشاء الافتراضي MimeMessage الكائنات MimeMessage رسالة = الجديدة MimeMessage (دورة)؛
         // تعيين من: رأس الحقل من الرأس.
         message.setFrom (InternetAddress جديدة (من))؛
         // تعيين إلى: حقل رأس من الرأس.
         message.addRecipient (Message.RecipientType.TO،
                                  جديد InternetAddress (إلى))؛
         // تعيين الموضوع: حقل رأس
         message.setSubject ( "هذا هو سطر الموضوع!")؛
         // الآن تعيين الرسالة الفعلية message.setText ( "هذا هو الرسالة الفعلية")؛
         // إرسال رسالة Transport.send (رسالة)؛
         عنوان سلسلة = "البريد الإلكتروني".
         الدقة سلسلة = "أرسلت بنجاح رسائل ...".
         سلسلة DOCTYPE = "\ ن <DOCTYPE HTML!>".
         out.println (DOCTYPE +
         "<HTML> \ ن" +
         "<رئيس> <العنوان>" + عنوان + "</ عنوان> </ رأس> \ ن" +
         "<الجسم BGCOLOR = \" # f0f0f0 \ "> \ ن" +
         "<H1 محاذاة = \" مركز \ ">" + عنوان + "</ H1> \ ن" +
         "<P محاذاة = \" مركز \ ">" + الدقة + "</ P> \ ن" +
         "</ BODY> </ HTML>")؛
      } صيد (MessagingException المكسيك) {
         mex.printStackTrace ()؛
      }
   }
} 

الآن دعونا تجميع بريمج أعلاه، وإنشاء الإدخال التالي في ملف web.xml:

....
 <بريمج>
     <بريمج اسم> SendEmail </ بريمج اسم>
     <من الدرجة بريمج> SendEmail </ بريمج الدرجة>
 </ بريمج>
 
 <بريمج رسم الخرائط>
     <بريمج اسم> SendEmail </ بريمج اسم>
     <رابط نمط> / SendEmail </ رابط نمط>
 </ بريمج رسم الخرائط>
....

الآن من خلال زيارة موقع http: // المضيف المحلي: 8080 / SendEmail أن نطلق على هذا بريمج. هذا وسوف ترسل رسالة بريد إلكتروني إلىمعرفالبريد الإلكتروني نظرا [email protected]، وسيظهر كما هو مبين في الرد التالي:

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

أرسلت بنجاح رسالة ...

إذا كنت ترغب في إرسال البريد الإلكتروني إلى العديد من المستلمين، استخدم الطرق التالية لتحديد متعددة معرف البريد الإلكتروني:

addRecipients باطل (نوع Message.RecipientType، 
                   معالجة [] عناوين)
يلقي MessagingException

وفيما يلي وصفا للمعلمات:

  • نوع: سيتم تعيين هذا كما ل، CC، أو BCC.هنا، CC باسم CC، BCC ممثلي BCC. على سبيل المثالMessage.RecipientType.TO.
  • عناوين: هذا هو مجموعة من معرف البريد الإلكتروني.عند تحديد معرف البريد الإلكتروني، تحتاج إلى استخدام InternetAddress طريقة ().

إرسال رسالة عبر البريد الإلكتروني HTML

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

هذا المثال هي مشابهة جدا لالأمثلة السابقة، ولكن هنا نستخدم setContent طريقة () لتعيين المعلمة الثانية هو "نص / أتش تي أم أل" المحتوى، يتم استخدام هذه المعلمة لتحديد محتوى HTML الواردة في الرسالة.

باستخدام هذا المثال، يمكنك إرسال المحتوى لا يقتصر على حجم محتوى HTML.

// اسم الملف SendEmail.java
java.io. استيراد *؛
java.util استيراد *؛
javax.servlet استيراد *؛
javax.servlet.http استيراد *؛
javax.mail استيراد *؛
javax.mail.internet استيراد *؛
javax.activation استيراد *؛
 
الطبقة العامة SendEmail يمتد HttpServlet {
    
  doGet باطلة العامة (HttpServletRequest الطلب،
                    HttpServletResponse الاستجابة)
            يلقي ServletException، IOException
  {
      // رقم البريد الإلكتروني المستلم
      سلسلة ل= "[email protected]".
 
      // المرسل معرف البريد الإلكتروني
      سلسلة من = "[email protected]".
 
      // دعونا نقول لكم إرسال المضيف سلسلة البريد الإلكتروني = "مضيف" من المضيف المحلي؛
 
      // الحصول على خصائص النظام خصائص خصائص = System.getProperties ()؛
 
      // إعداد properties.setProperty خادم البريد ( "mail.smtp.host"، مضيفة)؛
 
      // احصل على الدورة الدورة الدورة الكائن الافتراضي = Session.getDefaultInstance (خصائص).
      
	  // تعيين نوع محتوى استجابة response.setContentType ( "نص / HTML؛ محارف = UTF-8")؛
      PrintWriter خارج = response.getWriter ()؛

      محاولة {
         // إنشاء الافتراضي MimeMessage الكائنات MimeMessage رسالة = الجديدة MimeMessage (دورة)؛
         // تعيين من: رأس الحقل من الرأس.
         message.setFrom (InternetAddress جديدة (من))؛
         // تعيين إلى: حقل رأس من الرأس.
         message.addRecipient (Message.RecipientType.TO،
                                  جديد InternetAddress (إلى))؛
         // تعيين الموضوع: حقل رأس
         message.setSubject ( "هذا هو سطر الموضوع!")؛

         // تعيين الفعلية رسالة HTML حجم المحتوى message.setContent محدودة ( "<H1> هذا هو الرسالة الفعلية </ H1>"،
                            "نص / أتش تي أم أل")؛
         // إرسال رسالة Transport.send (رسالة)؛
         عنوان سلسلة = "البريد الإلكتروني".
         الدقة سلسلة = "أرسلت بنجاح رسائل ...".
         سلسلة DOCTYPE = "\ ن <DOCTYPE HTML!>".
         out.println (DOCTYPE +
         "<HTML> \ ن" +
         "<رئيس> <العنوان>" + عنوان + "</ عنوان> </ رأس> \ ن" +
         "<الجسم BGCOLOR = \" # f0f0f0 \ "> \ ن" +
         "<H1 محاذاة = \" مركز \ ">" + عنوان + "</ H1> \ ن" +
         "<P محاذاة = \" مركز \ ">" + الدقة + "</ P> \ ن" +
         "</ BODY> </ HTML>")؛
      } صيد (MessagingException المكسيك) {
         mex.printStackTrace ()؛
      }
   }
} 

ترجمة وتشغيل بريمج أعلاه، وإرسال رسائل HTML على معرف البريد الإلكتروني معينة.

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

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

// اسم الملف SendEmail.java
java.io. استيراد *؛
java.util استيراد *؛
javax.servlet استيراد *؛
javax.servlet.http استيراد *؛
javax.mail استيراد *؛
javax.mail.internet استيراد *؛
javax.activation استيراد *؛
 
الطبقة العامة SendEmail يمتد HttpServlet {
    
  doGet باطلة العامة (HttpServletRequest الطلب،
                    HttpServletResponse الاستجابة)
            يلقي ServletException، IOException
  {
      // رقم البريد الإلكتروني المستلم
      سلسلة ل= "[email protected]".
 
      // المرسل معرف البريد الإلكتروني
      سلسلة من = "[email protected]".
 
      // دعونا نقول لكم إرسال المضيف سلسلة البريد الإلكتروني = "مضيف" من المضيف المحلي؛
 
      // الحصول على خصائص النظام خصائص خصائص = System.getProperties ()؛
 
      // إعداد properties.setProperty خادم البريد ( "mail.smtp.host"، مضيفة)؛
 
      // احصل على الدورة الدورة الدورة الكائن الافتراضي = Session.getDefaultInstance (خصائص).
      
	  // تعيين نوع محتوى استجابة response.setContentType ( "نص / HTML؛ محارف = UTF-8")؛
      PrintWriter خارج = response.getWriter ()؛

       محاولة {
         // إنشاء الافتراضي MimeMessage الكائنات MimeMessage رسالة = الجديدة MimeMessage (دورة)؛
 
         // تعيين من: رأس الحقل من الرأس.
         message.setFrom (InternetAddress جديدة (من))؛
 
         // تعيين إلى: حقل رأس من الرأس.
         message.addRecipient (Message.RecipientType.TO،
                                  جديد InternetAddress (إلى))؛
 
         // تعيين الموضوع: حقل رأس
         message.setSubject ( "هذا هو سطر الموضوع!")؛
 
         // إنشاء جزء رسالة بودبرت messageBodyPart = الجديدة MimeBodyPart ()؛
 
         // املأ رسالة messageBodyPart.setText ( "هذا هو نص الرسالة")؛
         
         // إنشاء متعددة الأجزاء رسالة متعددة متعددة الأجزاء = الجديدة MimeMultipart ()؛
 
         // مجموعة أجزاء رسالة نصية multipart.addBodyPart (messageBodyPart)؛
 
         // الجزء الثاني هو ملحق messageBodyPart = الجديدة MimeBodyPart ()؛
         سلسلة اسم = "file.txt".
         مصدر مصدر البيانات = FileDataSource الجديد (اسم الملف)؛
         messageBodyPart.setDataHandler (جديد DataHandler (المصدر))؛
         messageBodyPart.setFileName (اسم الملف)؛
         multipart.addBodyPart (messageBodyPart)؛
 
         // إرسال رسالة كاملة جزء message.setContent (متعددة الأجزاء)؛
 
         // إرسال رسالة Transport.send (رسالة)؛
         عنوان سلسلة = "البريد الإلكتروني".
         الدقة سلسلة = "إرسال البريد الإلكتروني بنجاح ..."؛
         سلسلة DOCTYPE = "\ ن <DOCTYPE HTML!>".
         out.println (DOCTYPE +
         "<HTML> \ ن" +
         "<رئيس> <العنوان>" + عنوان + "</ عنوان> </ رأس> \ ن" +
         "<الجسم BGCOLOR = \" # f0f0f0 \ "> \ ن" +
         "<H1 محاذاة = \" مركز \ ">" + عنوان + "</ H1> \ ن" +
         "<P محاذاة = \" مركز \ ">" + الدقة + "</ P> \ ن" +
         "</ BODY> </ HTML>")؛
      } صيد (MessagingException المكسيك) {
         mex.printStackTrace ()؛
      }
   }
} 

ترجمة وتشغيل بريمج أعلاه، وإرسال رسائل مع مرفقات الملفات على معرف البريد الإلكتروني معينة.

قسم مصادقة المستخدم

إذا كنت تحتاج إلى توفير البريد الإلكتروني معرف المستخدم وكلمة المرور خادم المصادقة، يمكنك تعيين الخصائص التالية:

 props.setProperty ( "mail.user"، "myuser")؛
 props.setProperty ( "mail.password"، "mypwd")؛

ما تبقى من آلية تسليم البريد الإلكتروني تتفق مع شرح أعلاه.