الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ارسال ايميل ب Oracle Adf

Featured Replies

بتاريخ:

السلام عليكم

بتوصلنى اسئله كتير عن طريقه ارسال ايميل بال ADF 11g ورغم ان الموضوع ده سهل اوى ومالوش علاقه بالجى ديفيلوبر بشكل عام لان علاقته الاساسيه بال Java Mail API الا ان فى ناس كتير بتسال عليه عشان كده انا عملت ابليكيش باستخدام ال JDeveloper 11g بيرسل ايميلات من على ايميلك اللى على الGmail لاى اميل انت عاوزه وبتكتبه فى ال TO وبعد كتابه الميل المرسل اليه و موضوع الايميل وال body بتضغط ارسال بيرسل الايميل وبيظهر لك رساله ان تم ارسال الميل بنجاح كما فى الصوره


192392016.jpg

وقبل تشغيل البرنامج محتاج خطوتين ضروريتين

1- بما انك بترسل ايميلات من على حسابك اللى على Gmail فانت محتاج احدث نسخه من الJava Mail API لان ال Gmail بيستخدم ال SSL او secure connection.عشان كده حتحمل ملف ال mail.jar اللى فى الموضوع و تضعه فى المسار ده فى الجى ديف بتاعك قبل تشغيل الجى ديفيلوبر C:\Oracle\Middleware\jdk160_21\jre\lib\ext

2- بعد تشغيل الجى ديف وفتح الابليكيشن كل اللى عليك انك تضع ال UserName وال Password بتوع ال account الخاص بيك على الgmail فى الكلاس اللى اسمها MailAuthenticator كالاتى

      
  private String username = "[email protected]";
 private String password = "yourpassword";



وكمان فى الكلاس التانيه SendEmail وفى المثود sendEmail بتضع بدلا من

 message.setFrom(new InternetAddress("[email protected]"));



بتضع الايميل الفعلى بتاعك واعمل رن للصفحه SendEmail.jspx وابعت اى ميل

حمل ملف ال Mail.jar من هنا اما الابليكيشن نفسه حمله من على الفور شير من هنا

ملحوظه: نسخه الجى ديف المستخدمه فى البرنامج واللى حيسشتغل عليها هى (11.1.1.4.0)


:( Happy JDeveloping

  • بعد 2 أسابيع...
  • الردود 41
  • المشاهدات 13.7k
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

Most Popular Posts

  • اولا : الاوت لوك ده اسلوب قدم اوى وعموما ممكن تعديل الكود فى البرنامج لبعت ايميلات من على الhotmail لان البرنامج بيبعت ايميلات من على ايميلك اللى على الgmail كنت علشان ابعت بالاوت لوك كنت بس

  • أخ/ طارق بالنسبه للمشكله الاولى (مشكله الانكودينج) فمفيش مشكله تقريبا لان البرنامج بيرسل عربى عادى جدا وانا مجرباه عندى اكتر من مره فى نصوص عربى فقط او انجليزى فقط او كلاهما معا ومفيش اى مشكله تقر

  • الاخ / sd4it اولا ال ADF لسه جديده اصلا وكلنا بنتعلم فيها لكن عندما اقول عيوب مثلا فى ال RTE فدى مش انا اللى بقولها عشان يبقى كلامى صحيح او خاطىء دى باعتراف اوراكل نفسها من ال Documentation بتاعتها

بتاريخ:

شكرا جدا جدا على المثال الجميل دة
فى عندى سؤال بسيط انا الوقتى عاوز ابعت الميل من على الاوت لوك
و انا عندى فى الشغل MS exchange server و كل موظف عندة حساب على الاوت لوك
و كنت علشان ابعت بالاوت لوك كنت بستخدم الhtml tag "mailto:" يعنى كنت بكتب html علشان يفتحلى الاوت لو و يبعت رسالة
بس انا الوقتى عاوز اصمم page ذى ما حضرتك عاملة كدة و ابعت من عليها لما اضغط send
هل هدور على jar خاص بالاوت لوك و لا فى طريقى تانية

بتاريخ:
  • كاتب الموضوع

اولا : الاوت لوك ده اسلوب قدم اوى وعموما ممكن تعديل الكود فى البرنامج لبعت ايميلات من على الhotmail لان البرنامج بيبعت ايميلات من على ايميلك اللى على الgmail



كنت علشان ابعت بالاوت لوك كنت بستخدم الhtml tag "mailto:" يعنى كنت بكتب html علشان يفتحلى الاوت لو و يبعت رسالة


الحقيقه الاسلوب ده مش ظريف بالمره ليه تستخدم برنامج مساعد اصلا انت تعمل صفحه عاديه زى دى وبعد كتابه ال To وال subject وال body اضغط على send حيبعت اللى انت عاوزه وحيبقى المرسل هو ايميلك اللى على ال hotmail بدلا من الاوت لوك


هل هدور على jar خاص بالاوت لوك و لا فى طريقى تانية


يعنى ايه ال jar الخاص بالاوت لوك الاوت لوك مش ايميل اصلا ده برنامج

شوف الموضوع ملوش علاقه بال ADF قد ما له علاقه بال java Mail API انت بتكتب كلاس جافا وبتحتاج حاجه اسمها JavaMail API عشان تقدر تساعدك فى ارسال الايميل ودى باكيج بتيجى اصلا مع ال JDeveloper 11g لكن المشكله ان هنا احنا بنبعت ايميلات من على ال Gmail وال Gmail بيستخدم secure connection او SSL وعشان كده JavaMail API اللى بتيجى مع الجى ديفيلوبر متقدرش تفتح ال mail servers اللى ال Connection فيه secured زى فى حاله ال Gmail عشان كده احنا بنحمل اخر نسخه من ال JavaMail API اللى تقدر تفتح ال secured mail server وبتضعها داخل الجى ديفيلوبر فى المسار اللى فى الموضوع يعنى بمعنى اسهل بتعمل upgrade لل JavaMail اللى فى الجى ديف بتاعك عشان يقدر يفتح ايميلك اللى على ال Gmail

بس كده

بتاريخ:

شكرا جزيلا على المساعدة و فعلا وصلت الفكرة

  • بعد 3 أسابيع...
بتاريخ:

انا جربت المثال بس فى عندى مشكلتين
اولا الرسائل اللى بالعربي بتوصل على الميل علامات استفهام
ثانيا انا استخدمت RichTextEditor بدل RichInputText و لما ببعت رسالة باالانجليزى او باى لغة بتوصل فى شكل
html tahs
مثلا ببعت رسالة مكتوب فيهاtest mail
بتوصل بالشكل دة

<p align="right"><font size="7" face="Arial,Helvetica,sans-serif">test mail</font></p>



عاوز ارف ازاى اغير ال encoding بتاع الرسالة قبل ما ابعتها
و ازاى اقدر اعالج موضوع ال html اللى بيوصل فى الرسالة

شكرا جزيلا

تم تعديل بواسطة tarek_fathi

بتاريخ:
  • كاتب الموضوع

أخ/ طارق

بالنسبه للمشكله الاولى (مشكله الانكودينج) فمفيش مشكله تقريبا لان البرنامج بيرسل عربى عادى جدا وانا مجرباه عندى اكتر من مره فى نصوص عربى فقط او انجليزى فقط او كلاهما معا ومفيش اى مشكله تقريبا المشكله عندك فى اعدادات الجى ديف او جهازك عامه روح على ال project properites الخاصة بال viewController واتاكد فى ال compiler ان ال Character Encoding هى Cp1256 واتاكد فى السورس الخاص بالصفحه ان



 <?xml version='1.0' encoding='UTF-8'?>



وكمان ان

  <jsp:directive.page contentType="text/html;charset=UTF-8"/>



واعتقد ان المشكله حتتحل

نيجى باه للمشكله الاصعب وهى استخدام ال Rich Text Editor

الحقيقه ان فكرة ال Rich Text Editor عجبتنى اوى :( وفعلا ممكن تتضاف بدلا من Rich input Text


نيجى باه للمشكله اللى بتعملهالنا

فعلا لو جربنا حنلاقى ان النص اللى بيتبعت بيبقى فيه Html Code وانا دخلت على موقع اوراكل لحل المشكله لقيت ان ال RichTextEditor ليها اكثر من Limitations وفيها حاجات كتيره not supported

The value is a well-formed XHTML-fragment. Due to browser limitations, the value may be altered


وكمان المشكله ان احنا هنا بنستخدم ميثود getValue عشان ناخد القيمه منها ونبعتها للايميل وعلى حسب كلام اوراكل

On the client, there is no support for getValue / setValue. We can not guarantee that the value is the same as the value on the server


الحل:

طبعا عندنا اكتر من حل ابسطهم انك تاخد ال String بعد ما تعمله Format ب RichTextEditor وتحذف منه HTML Tags برمجيا قبل ما تبعته للميثود اللى بتعمله send يعنى انت حتنسق زى ما انت عاوز بال RichTextEditor وبعدين قبل ما تاخد ال string حتحذف منه ال tags عن طريق الميثود دى



       public static String removeHTML(String htmlString)
     {
           // Remove HTML tag from java String    
         String noHTMLString = htmlString.replaceAll("\\<.*?\\>", "");

         // Remove Carriage return from java String
         noHTMLString = noHTMLString.replaceAll("\r", "<br/>");

         // Remove New line from java string and replace html break
         noHTMLString = noHTMLString.replaceAll("\n", " ");
         noHTMLString = noHTMLString.replaceAll("\'", "'");
         noHTMLString = noHTMLString.replaceAll("\"", """);
       noHTMLString =noHTMLString.replaceAll(" "," ");
         return noHTMLString;
     }



وبعدين حتبعته عادى

عموما دى حتبقى شكل الصفحه بعد اضافة ال RichTextEditor

687905373.jpg

وده البرنامج بعد استخدام الRichTextEditor حمله من هنا وجربه وحتلاقى ان الرساله اللى حتتبعت مفيهاش اى HTML Tags بالرغم من استخدام ال RichTextEditorوحتستفاد من ال Rich Text Editor فى بعض التنسيقات كاضافة رابط معين مثلا وحتروح على الميل حتلاقى الرابط باللينك بتاعه

يوجد عيب للحل ده ان النص اللى حيبقى فى الايميل حيبقى محذوف منه بعض التنسيقات اللى عملتها وليس كلها لان فى تنسيقات حتفضل موجوده ولكن لن تكون هناك اى HTML Tags

عموما لو فضيت ممكن افكر فى حل تانى

بتاريخ:

السلام عليكم
شكرا جزيلا اخت هاله على حل المشكلة
هو فعلا المشكلة عندى ف اعدادات ال jdeveloper
و شكرا جزيلا على حل مشكلة ال HTML و انا كمان بفكر ازاى اقدر ابعت نص الرسالة بالتنسيق اللى عملته
اعتقد ان الحل فى انى اقدر اغير ال mime type للرسالة ل text/html

  • بعد 1 شهر...
بتاريخ:

الحل بسيط لعرض الرسالة بالتنسيق الذي تريده ، فيجب استخدام RichTextEditor عند مستقبل الرسالة لعرض النص لأن النص سيتم إرساله بكود HTML ، والقاعدة هنا أنه إذا استخدمت RichTextEditor للحفظ فيجب عليك استخدامه أيضاً للعرض.
موضوع استبدال HTML Tags غير عملي لأن الفائدة الأساسية من استخدام RichTextEditor هو وضع التنسيقات ، فإذا قمنا بحذفها فيصبح استخدام RichTextEditor بلا فائدة.
بالنسبة لاستخدام MS Exchange فإن مكتبة Java Main API يمكنها الاتصال عليه ، فقط اطلب من الـ email administrator أن يقوم بإضافة إيميل جديد حتى يصبح هو الإيميل المرسل دائماً ويمكنك الاتصال عليه من جافا وإرسال الإيميل من خلال المكتبة الموجودة في الـ JDeveloper مباشرة دون عمل أي تحديث لها لأنها مجهزة بذلك

بتاريخ:
  • كاتب الموضوع

الحل ده ليس عملى لاسباب كتيره

اولا: احنا هنا بنبعت للميل وليس لصفحة JSP بها Rich Text Editor حتى يتم استقبالها فيه

ثانيا: فى حاجات كتير فى ال Rich Text Editor باعتراف اوراكل not Supported واهمها برضه setValue لو استخدمنا موضوع اننا ناخد القيمه من ال Rich Text الاولانى ونضعها فى الثانى

ثالثا: حتى لو استخدمنا حل اخر بتخزين الرساله فى الداتابيز ومن ثم عرضها ايضا فى RTE برضه حتلاقى بعض التنسيقات لن تظهر معاك عشان هى برضه not Supported زى ال greater sign وال less sign لان على حسب ال Documentation

Only html 4 tags are supported

بتاريخ:

الأخت هالة:
يبدو لي من كلامك أنك لم تتعاملي مع قضية الإيميل والـ RichTextEditor بشكل عملي ولذلك واضح أنه توجد بعض النقاط التي لا بد أن تعرفيها ، وسأرد بنفس ترتيب نقاطك:
النقطة الأولى: إذا كنا نرسل لإيميل ، فيجب أن يكون فورمات الإيميل يدعم HTML مثلما هو الحال في Outlook ، فمثلاً عندما أكتب إيميل في Outlook وبه العديد من التنسيقات وأرسله بالإيميل فإنه يظهر بشكل طبيعي بالتنسيقات وذلك على الرغم من أنه إيميل كما تذكرين وذلك لأننا نستخدم HTML وهي standard في الوب
النقطة الثانية والثالثة: صحيح أن RichTextEditor لا يدعم كل شئ في HTML ولكننا نستخدم نظام كتبناه بأنفسنا وهذا يعني أن التنسيقات التي سيستخدمها الشخص هي التنسيقات التي يمكن للـ RichTextEditor إنشاءها وبالتالي قضية ظهور التنسيقات الغير مدعمة لا نحتاجه لأن الشخص أصلاً لن يستطيع إنشاءها. كلامك يكون صحيحاً إذا كان الإيميل مرسل لي من الخارج وأحببت أن أعرض محتوياته في RichTextEditor ، ففي هذه الحالة لن تكون جميع التنسيقات مدعمة ، ولكن إذا كنت أنا من أرسل ، إذن لا توجد مشكلة.
أيضاً لو كنا نحتاج أن نضع قيمة RichTextEditor في الثانية فيمكن أن نفعل ذلك من خلال Backing Bean حيث نجد setValue() متاحة لنا ولو أني لا أرى داعياً لذلك حيث يمكنني استخدام RichTextEditor واحد ويمكنني ربطه بقاعدة البيانات بشكل كامل بلا مشاكل.
ملحوظة:
الـ greater sign والـ less sign مدعومة وجربناها أكثر من مرة ولا مشاكل فيها

بتاريخ:
  • كاتب الموضوع

واضح من كلامك انك انت الذى لم تتعامل مع ال component ده لاننا اتعاملنا قبل كده مع ارسال الايميلات وموضوع ال RTE توجد عليه الكثير من القيود وابسطها ان greater than وال less than غير مدعومه والدليل سهل للغايه جرب تدخل مثلا القيمه دى 100>sal من ال RTE الى الداتابيز وشوف القيمه حتدخل ازاى حتلاقيها دخلت بالطريقه دى 100>sal فاين الدعم اللى بتتكلم

عنه ؟؟؟

وهذا يعني أن التنسيقات التي سيستخدمها الشخص هي التنسيقات التي يمكن للـ RichTextEditor إنشاءها وبالتالي قضية ظهور التنسيقات الغير مدعمة لا نحتاجه لأن الشخص أصلاً لن يستطيع إنشاءها


طبعا من الواضح انك مفهمتش كلامى اصلا لانى مقصدش هنا ان الشخص يستخدم ال RTE فى عملها ولكن هو اللى حيكتبها زى فى حالة ال greater than لان RTE هى فى الاخر input Text وطريقه عملها بتتلخص فى ان اى حاجه بتعتبرها ليست valid HTML Tags بتحولها الى characters

انا لم اقل ان set Value غير متاحه لا طبعا متاحه ولكنها غير مدعومه وجرب تعمل set ليها من RTE ثانيه من خلال action Listener فى الباكينج بين

واخيرا انا لا اهوى الدخول فى مجادلات كثيره وعارفه ان فى الاوت لوك بيبعت للايميل بالتنسيقات اللى عاملينها لكن ازاى تبعته للايميل بالتسيقات بتاعتك دى فى حالة ال Rich Text Eitor مع استخدامك get Value ?
بتاريخ:

السلام عليكم:
لقد قمت بمراجعة المثال وقمت بتعديله حتى يمكن استخدام RichTextEditor لإرسال تنسيقات HTML بلا مشكلة.
يلزم تعديل التالي في SendEmail.java:
MimeMessage message = new MimeMessage(session);
message.setContent(body, "text/html;charset=UTF-8");
مع استخدام المتغير كما هو بدون حذف HTML.
أيضاً لي ملاحظات عامة على المثال لاحظتها وأذكرها هنا حتى تزيد الفائدة من المثال:
1. تم تكرار اسم المستخدم مرتين في SendEmail و MailAuthenticator وهذا يعني أنه عند التعديل فسيتم التعديل مرتين في حين انه يمكننا إنشاء دالة تقوم بإرجاع المستخدم ويتم استخدامها في SendEmail و MailAuthenticator بدلاً من استخدام القيمة مباشرة
2. لا ضرورة لاستخدام الخاصية requiredMessageDetail لأنها موجودة بشكل مباشر في ADF
3. توجد بعض الأخطاء الإملائية مثل قيمه والصحيح قيمة (بالتاء المربوطة) وارسال والصحيح إرسال (بالهمزة) وادخال والصحيح إدخال (بالهمزة) وليس صحيح لا بد ان تكون ليس صحيحاً. صحيح أن هذا غير مؤثر برمجياً ولكن يجب الحفاظ على لغتنا العربية والكتابة بالشكل السليم
4. يمكن حذف المكتبة باسم Javamail1_4_4.zip لأنها موجودة في مسار في جهازك الشخصي ولا داعي لها
5. تحديد العرض باستخدام inlineStyle غير مفضل ويقوم JDeveloper بإعطاء تحذير عليه ويمكن استخدام columns بدلاً منها
6. يحتاج RichTextEditor إلى عدد صفوف أكثر وليكن 15 لأن الإيميل عادة ما يكون طويلاً ويحتاج مساحة.
7. بدلاً من استخدام binding للـ RichTextEditor فيمكن ربطه مباشرة مع متغير من نوع String في الخاصية value وذلك تسهيلاً على المبرمج بدلاً من عمل Casting
8. لغوياً المفترض أن يتم تسمية دالة الإرسال send وليس sent
9. من المهم جداً إظهار رسالة خطأ للمستخدم إذا لم يتم إرسال الإيميل
10. يمكن تطوير المثال لإضافة إمكانية CC و BCC والمرفقات
11. من المهم جداً عدم كتابة الرسائل باللغة العربية في الكود حيث لا بد ان تكتب بصيغة UniCode
12. من المفضل استخدام UTF-8 بدلاً من Cp1256 حتى تدعم اي لغة في العالم
13. تنسيق الكود بشكل عام غير منظم ويمكن عمل Format للكود من JDeveloper لإظهار الكود بتنسيق أفضل

بعد إجراء التعديلات فيصبح شكل الصفحة كالتالي

1.jpg

وعند فتح الإيميل فإنه يعرض كالتالي

2.jpg

بتاريخ:

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

هذه هي النقطة الأولي: جرب تدخل مثلا القيمه دى 100>sal من ال RTE الى الداتابيز وشوف القيمه حتدخل ازاى حتلاقيها دخلت بالطريقه دى 100>sal فاين الدعم اللى بتتكلم عنه
والصحيح أن مسالة وجود > هذه مسألة تخزين لأن هذه هي الطريقة الصحيحة لكتابة العلامة في HTML ، وعند العرض فتوجد طريقتين: إما أن أعرض في RichTextEditor مباشرة أو أن أقوم بعمل Converter يقوم بتحويل النص > إلى < وهذا في حالة استخدامي لـ inputText.

هذه هي النقطة الثانية: انا لم اقل ان set Value غير متاحه لا طبعا متاحه ولكنها غير مدعومه وجرب تعمل set ليها من RTE ثانيه من خلال action Listener فى الباكينج بين
وهذا غير صحيح بالمرة ولقد قمت بتعديل مثالك لعمل ذلك كما هو في الصورة وهو يعمل بطريقة سليمة. يجب عليك التجربة وإن لم يعمل معك بطريقة سليمة فأرسلي لي حتى أساعدك في إصلاح الخطأ لأنها تعمل بالتأكيد
3.jpg

هذه هي النقطة الثالثة:
واخيرا انا لا اهوى الدخول فى مجادلات كثيره وعارفه ان فى الاوت لوك بيبعت للايميل بالتنسيقات اللى عاملينها لكن ازاى تبعته للايميل بالتسيقات بتاعتك دى فى حالة ال Rich Text Eitor مع استخدامك get Value ?
المسألة لا يجب أن تأخذيها على أنها جدال فالنقاش في العلم مفيد لكل الأطراف وأنا متأكد أنه بعد ردي هذا ستقومين بتصحيح بعض المعلومات الغير صحيحة عندك.
لقد قمت بإرسال إيميل لك فيه تجربة التنسيقات وعلامة greater than ورددت على نقطة الإرسال باستخدام RichTextEditor في نقطة سابقة.

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

أرجو ان تكون رسالتي قد وصلت لك

بتاريخ:
  • كاتب الموضوع

الاخ / sd4it

اولا ال ADF لسه جديده اصلا وكلنا بنتعلم فيها لكن عندما اقول عيوب مثلا فى ال RTE فدى مش انا اللى بقولها عشان يبقى كلامى صحيح او خاطىء دى باعتراف اوراكل نفسها من ال Documentation بتاعتها وامر ال less than وقف معاى فعلا وسالت عليه قبل كده فى ال OTN والحل كان فى عمل ال conversion فى حالة اظهارها فى اى component تانيه غير ال RTE وده اللى مكنتش عاوزاه لانها طبعا حتظهر بنفس التنسيق لو استخدمنا ال RTE فى اظهارها

من ناحيةالمثال واستخدام ال RTE لارسال الرساله بالتنسيقات فالحقيقه ان السطرين الزياده اللى كتبتهم فى الكود اللى هما

          MimeMessage message = new MimeMessage(session);
     message.setContent(body,"text/html;charset=UTF-8");



انا جربتهم كاول الحلول اللى قدامى لارسال الرساله بتنسيقات ال HTML وليس ك plain Text وبرضه كان نفس المشكله ولا تظهر التنسيقات لكن بعد نجاحها معاك عرفت ان المشكله عندى واكتشفتها وهى ان كنت باضيف setText اللى بتلغى اللى عملته

message.setText(body);



وبعد حذف السطر ده اتبعتت الرساله بكل التنسيقات عادى

من ناحية النقاش فى العلم فهو مفيد طبعا ولكنى اجد ان مساعدة الناس افضل من الدخول فى مناقشات طويله تحمل اكثر من وجهة نظر ومن الممكن ان تكون كلاهما صحيحه علاوه على ضيق الوقت طبعا الذى لا يسمح لى بالدخول فى تلك المناقشات

بالنسبه لملاحظاتك على المثال


من ناحية اخطاء اللغه العربيه فلن اعلق عليها اصلا

بالنسبه ل requiredMessageDetail فدى بتستخدم لعمل customize لرساله الrequired وانا هنا محبتش استخدم ال default فاين المشكله؟؟

لو حذفت مكتبة ال java Mail API البرنامج مش حيشتغل معاك

لا توجد مشكله من استخدام ال Inline Style والتحذير اللى بتعطيه اوراكل على ال Dimension اللى بتضعه مثلا على ال width ولكنها لا تعطى اى تحذيرات من استخدام ال inline Style ودى حاجه اول مره اعرفها اصلا


افضل الحلول طبعا هو عمل ربط ال RTE بالbean عن طريق ال binding وبصراحه لم استوعب ايه الصعوبه اللى بيلاقيها المبرمج فى عمل ال casting

من ناحية عمل امتداد للمثال بال CC وال BCC او رسالة الخطا فطبعا ممكن فالمثال ده غرضه معرفة طريقه ارسال الميل من ال ADF ويمكن لاى شخص عمل extend عليه ويعدل فيه طبقا لاحتياجاته ما دام عرف الطريقه

من ناحية الانكودينج Cp1256 فدى انكودينج الجى ديف عندى اللى بفضله فى عمل شغلى لامور معينه

اخيرا شكرا على اضافاتك المثمره للموضوع :)

بتاريخ:

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

بالنسبة لردك على النقاط فأيضاً دعيني أصحح لك بعض المعلومات.

من ناحية اخطاء اللغه العربيه فلن اعلق عليها اصلا
للأسف الكثير منا لا يهتم بقضية اللغة والبعض يكتب لفظ الجلالة هكذا (اللة) وهذا خطأ بالطبع ويجب علينا أن نهتم بلغتنا

بالنسبه ل requiredMessageDetail فدى بتستخدم لعمل customize لرساله الrequired وانا هنا محبتش استخدم ال default فاين المشكله؟؟
كلامك صحيح ولكنك عندما قمت بالتغيير فقد استخدمت الرسالة الافتراضية وبالتالي لا داعي لها. كلامك يكون صحيحاً لو استخدمت رسالة أخرى

لو حذفت مكتبة ال java Mail API البرنامج مش حيشتغل معاك
لم أقصد حذفها من المجلد ext بل قصدت حذفها من مكتبات المشروع نفسه وقد جربتها والبرنامج اشتغل بطريقة عادية

لا توجد مشكله من استخدام ال Inline Style والتحذير اللى بتعطيه اوراكل على ال Dimension اللى بتضعه مثلا على ال width ولكنها لا تعطى اى تحذيرات من استخدام ال inline Style ودى حاجه اول مره اعرفها اصلا
أنا أقصد استخدام الـ Inline Style لتحديد الـ width فعلاً

افضل الحلول طبعا هو عمل ربط ال RTE بالbean عن طريق ال binding وبصراحه لم استوعب ايه الصعوبه اللى بيلاقيها المبرمج فى عمل ال casting
هذا غير صحيح وهذا يجرنا لنقطة هامة وهي متى استخدم binding ومتى استخدم value؟ إننا نستخدم binding لو كنا بحاجة لتغيير خصائص HTML للأداة ونستخدم value للتعامل مع القيمة التي أدخلها المستخدم ، وفي حالتنا هذه فإننا نحتاج القيمة فقط وبالتالي فهي تعطينا القيمة في String مباشرة ولو أن هذا لا يعني أن استخدام الـ binding خاطئ ولكن في هذه الحالة يكون استخدام value أفضل

من ناحية الانكودينج Cp1256 فدى انكودينج الجى ديف عندى اللى بفضله فى عمل شغلى لامور معينه
لو تعاملتي مع مشاريع أوروبية فستعرفين مقصدي لأن فيها حروف غير مدعمة في Cp1256 ونجد أن utf-8 تصلح لكافة اللغات بما فيها العربية وبالتالي تعتبر أشمل وأعم وأفضل العمل بها


ملاحظة أخيرة لك: يمكن العمل بالنص المكتوب في RichTextEditor وعرضه في الصفحة من خلال outputText ولا يشترط استخدام RichTextEditor وهذا يتم من خلال الخاصية escape ودون استخدام converter.
قومي بالتجربة ولو وجدت مشكلة فأخبريني لأننا قمنا بحل كافة مشاكل RichTextEditor التي واجهتنا

اقتراح لك: أقترح أن تقومي بتعديل مثالك للسماح بإرسال تنسيقات HTML من خلال RichTextEditor ووضع النقط التي ذكرتيها وأنا سأحاول عمل هذا التعديل بناء على وقتي حتى يستفيد المشاركين أكثر

بتاريخ:

السلام عليكم:
لقد قمت بتعديل المثال حتى يمكن استخدام تنسيقات HTML مع RichTextEditor ومع إمكانية استخدام علامة أكبر من وأصغر من بلا مشاكل. انظر إلى المرفقات
لقد قمت بإضافة التحسينات التالية:
1. عدم تكرار اسم المستخدم
2. إضافة CC و BCC
3. إظهار رسالة خطأ في رحالة عدم إرسال الإيميل
4. ضمان عمل اللغة العربية في الرسائل على أي جهاز
5. تحسين هيكلة الكود حتى تصبح دالة إرسال الإيميل أكثر عمومية
6. تحسين الأداء من خلال عمل Initialize للمتغيرات مرة واحدة فقط في عمر النظام وهذا يجعل الإرسال من بعد المرة الأولى أسرع

شكل الشاشة:
4.jpg

إلى الأخت هالة:
لقد قمت بإضافة صفحة اسمها rte وفيها يتم نسخ القيمة من RichTextEditor إلى الأخر بلا مشاكل ومع استخدام علامة أكبر من وأصغر من.
أضفت أيضاً جزءاً يبين كيفية استخدام وعرض القيمة الموجودة في RichTextEditor بدون استخدام RichTextEditor
هذا هو شكل الشاشة
5.jpg

يمكنك تغيير اسم المستخدم وكلمة السر من Constants مع ضرورة وضع المكتبة mail كما شرحت الأخت هالة من قبل.
لا ننسى شكر الأخت هالة صاحبة الموضوع الأصلي على مجهودها

EmailSender.rar

  • بعد 7 شهور...
بتاريخ:

جزاكم الله خير علي الشرح الرائع والمناقشه الهادفه للموضوع


لكن اود ان اسال كيف اتعامل في ارسال الاميلات من خلال سيرفر داخلي لان لايوجد نت في الشبكه الداخليه الخاصه بنا

  • بعد 2 أسابيع...
بتاريخ:

شكرا جزيلا على هذا المثال كنت بحاجة لهكذا مثال لأني أعلم مشروع تخرج وجزء منه المستخدم يستطيع إرسال إيميل للموردين.

تم تعديل بواسطة Qasem01

  • بعد 1 سنة...
بتاريخ:

الموضوع رائع جدا

هل من الممكن وضع هذه البيانات ( to- cc-bcc-message....) في جدول (Database)   لرجوع لها؟

و هل يمكن ارسال رسائل ديناميك؟
 

  • بعد 3 شهور...
بتاريخ:

الأخ

sd4it

والاخت هاله
شرح رائع ومميز
لكن ماذا عن ارسال إيميل بوجود proxy server
بحثت عن هذا الموضوع قرابة يومين
دون فائدة تذكر
وكما اطلعت ان javamail api
لاتدعم ذلك
ما الحل ؟؟؟!!
أرجو إفادتنا أن امكن
وسأكون لكم شاكرا

بتاريخ:

شكرا اخي

sd4it

 

ولكني قد أطلعت على الرابط هذا مسبقا دون فائدة تذكر فلم أستطع عمل الاعدادت ولم يرسل الإيميل
سؤال اخر أن امكن
هل هناك طريقة أخرى لارسال الايميل عدى Java Mail

مكتبة اخرى مثلا

  • بعد 3 سنة...
بتاريخ:

مشكرين البشمهندسه هاله والبشمهندس مصطفى على الجهود الرائعه

ولكن انا استخدم نسخه 12 بالنسبه لملف الجافا ماذا افعل

بتاريخ:

وسؤالى التانى انا برسل لايميل واحد فقط ولكن بستقبل من اكثر من 10 ايميل ماذا افعل

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.