الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل يمكن ان تستطيع جافا ابليت من ارسال رسالة

مغلق
بدأه رامي العيساوي في 18 ديسمبر 2002 · 20 رد · 2,306 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اعمل برنامج جديد احضره لمعرض الباسل للابداع و الاختراع و هو مهم جدا لي ولذلك و اجهتني بعض الصعوبات و اتجهت اليك فلا تردنوني خائبا عندي كم سؤال :

1- هل يمكن ان تستطيع جافا ابليت من ارسال رسالة ؟

لقد حاولت و بعدة طرق و لكن يظهر لي ان اكسيبشن و يقول

Java.security.AccessControlException: access denied (java.net.SocketPermission outmail.net.sy resolve

2- كيف يمكنني ان اصنع واجهة خصوصية لي اختار فيها الالوان و كل شي يعني مثل

javax.swing.plaf.metal.metallookandfeel

javax.swing.plaf.ramy.ramylookandfeel

و بعد ذلك

("UIManager.setLookAndFeel("javax.swing.plaf.ramy.ramylookandfeel

لان الوان البرنامج اريدها مختلفة و طبعا من الصعب جدا ان اكتب لكل زر او قائمة او نافذة الالون الخ ورح يستغرق وقت كثير

3- انا اعمل على برنامج فيجوال كافيه و فيه امكتنية انشاء تطبيق مستقل اي فقط اي اكس اي و للاتوجد ملفات الكلاس بجانبه هل هذا النوع ممكن استخدامه و هل يحتاج محيط تشغيل عندما تشغله عند جهاز ما عنده محيط تشغيل يطلب ملف دي ال ال وعندما احضره له مفردا بدون محيط تشغيل لا يظهر رسالة خطا و يطلب دي ال ال بل لا يعمل و كانك لم تشغله فما حله برايكم؟

عندي اسئلة كمان و لكنني شعرت انني اثقلت عليكم شكرا لكم

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#2

بسم الله الرحمن الرحيم

اقتباس
1- هل يمكن ان تستطيع جافا ابليت من ارسال رسالة ؟

نعم يمكنك بأستخدام المكتبة JavaMail وتجدها هنا http://java.sun.com/products/javamail/index.html

اقتباس
2- كيف يمكنني ان اصنع واجهة خصوصية لي اختار فيها الالوان و كل شي يعني مثل

javax.swing.plaf.metal.metallookandfeel

javax.swing.plaf.ramy.ramylookandfeel

و بعد ذلك

("UIManager.setLookAndFeel("javax.swing.plaf.ramy.ramylookandfeel

هذا المقال يشرح بالتفصيل فى جزء منه طريقة بناء LookAndFeel مخصص

http://javafaq.nu/java/free-swing-book/fre...chapter21.shtml

اقتباس
3- انا اعمل على برنامج فيجوال كافيه و فيه امكتنية انشاء تطبيق مستقل اي فقط اي اكس اي و للاتوجد ملفات الكلاس بجانبه هل هذا النوع ممكن استخدامه و هل يحتاج محيط تشغيل عندما تشغله عند جهاز ما عنده محيط تشغيل يطلب ملف دي ال ال وعندما احضره له مفردا بدون محيط تشغيل لا يظهر رسالة خطا و يطلب دي ال ال بل لا يعمل و كانك لم تشغله فما حله برايكم؟

بصراحة لم أفهم السؤال جيدا فأرجوا اعادة صياغته مع وضع اللفظ الأجنبى

لا تتردد فى الإستفسار فنحن فى الخدمة :cool:

#3

هذا برنامج أسمه Semantic Visual Cafe

أعتقد أنه يسوي مثل ++J و #J بأنه يصلح لك setup وسيقوم هو بتحويل الكود إلى Native code ليعمل على بيئة الويندوز ---> أعتقد أنه الفيجوال كيف يجمع لك ك الملفات اللي يعتمد عليها مشروعك dependencies في ملف واحد

#4

مشكورين كثير رح احاول و اخبركم شو صار معي.......:o

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#5

نعم تستطيع فعل ذلك ولك هذا المثل رغم انه لا يعمل الا على بورت 25 لكن الفكره هي الاهم

import java.applet.Applet;

import java.net.*;

import java.io.*;

import java.awt.*;

public class tMail extends java.applet.Applet {

  TextArea	tMessage;

  Button	bSend ;

  TextField   tSubject;

  TextField   tTo     ;

  TextField   tFrom   ;



  public void init() {

    GridBagLayout gridbag = new GridBagLayout();

    GridBagConstraints g = new GridBagConstraints();

    setFont(new Font("Helvetica", Font.PLAIN, 12));

    setLayout(gridbag);

    g.anchor  = GridBagConstraints.NORTHEAST;

    g.fill   = GridBagConstraints.HORIZONTAL;

    g.weightx  = 1.0;

    g.weighty  = 1.0;



    g.gridwidth = GridBagConstraints.REMAINDER; //end row

    bSend = new Button("send");

    gridbag.setConstraints(bSend, g);

    add(bSend);



    g.gridwidth = GridBagConstraints.RELATIVE;

    Label l0 = new Label("From :");

    gridbag.setConstraints(l0, g);

    add(l0);



    tFrom = new TextField("Learner@msn.com");

    gridbag.setConstraints(tFrom, g);

    add(tFrom);



    g.gridwidth = GridBagConstraints.REMAINDER; //end row



    bSend = new Button("Send");



    gridbag.setConstraints(bSend, g);

    add(bSend);

    g.gridwidth = GridBagConstraints.RELATIVE;

    Label l1 = new Label("To :");

    gridbag.setConstraints(l1, g);

    add(l1);



    g.gridwidth = GridBagConstraints.REMAINDER; //end row

    tTo = new TextField("xxxx@yyyy.com");

    gridbag.setConstraints(tTo, g);

    add(tTo);



    g.gridwidth = GridBagConstraints.RELATIVE;

    Label l2 = new Label("Subject :");

    gridbag.setConstraints(l2, g);

    add(l2);



    g.gridwidth = GridBagConstraints.REMAINDER; //end row

    tSubject = new TextField("Test tMail");

    gridbag.setConstraints(tSubject, g);

    add(tSubject);



    g.gridwidth = GridBagConstraints.RELATIVE;

    Label l3 = new Label("Message :");

    gridbag.setConstraints(l3, g);

    add(l3);



    g.fill   = GridBagConstraints.BOTH;

    g.gridwidth  = GridBagConstraints.REMAINDER; //end row

    g.gridheight = GridBagConstraints.REMAINDER; //end col

    tMessage     = new TextArea("...",5,40);

    gridbag.setConstraints(tMessage, g);

    add(tMessage);

  } // end of init

  public boolean action(Event evt, Object arg)

  {

    if (evt.target instanceof Button) {

      try {

        sendMail(tTo.getText(),

                 tFrom.getText(),

                 tSubject.getText(),

                 tMessage.getText() );

      }

      catch(UnknownHostException uhe)

      {

        Debug("-->uhe " + uhe );

      }

      catch(ProtocolException pe)

      {

        Debug("-->pe " + pe );

      }

      catch(IOException ioe)

      {

        Debug("-->ioe " + ioe );

      }

    }

    return true;

  }

  public void sendMail(String to_address,

                       String from_address,

                       String sSu,

                       String sMess)

        throws IOException, ProtocolException, UnknownHostException{

    tMessage.setText("");

    Debug("--- Envoie de Mail----");

    Debug("--- From : " + from_address);

    Debug("--- To   : " + to_address);

    Debug("--- Sujet: " + sSu);

    Debug("--- Mess : " + sMess);

    Debug("----------------------");



    Socket socket;

    DataInputStream in;

    PrintStream out;

    String host;

    String str;



    // host = InetAddress.getLocalHost().toString();

    host = new String("www.msn.com");



    //opening socket (connection to mailServer)



    socket = new Socket(getDocumentBase().getHost(), 25);

    in     = new DataInputStream(socket.getInputStream());

    out    = new PrintStream(socket.getOutputStream());



    str = in.readUTF();



    Debug(str);



    if (!str.startsWith("220"))

      throw new ProtocolException(str);

    while (str.indexOf('-') == 3) {

      str = in.readUTF();

      Debug(str);

      if (!str.startsWith("220"))

        throw new ProtocolException(str);

    }

    out.println( "HELO " + host );

    out.flush();

    str = in.readUTF();



    Debug(str);



    if (!str.startsWith("250"))    throw new ProtocolException(str);

    out.println( "MAIL FROM: " + from_address );

    out.flush();

    str = in.readUTF();



    Debug(str);



    if (!str.startsWith("250"))    throw new ProtocolException(str);

    out.println( "RCPT TO: " + to_address );

    out.flush();

    str = in.readUTF();



    Debug(str);



    if (!str.startsWith("250"))    throw new ProtocolException(str);

    out.println( "DATA" );

    out.flush();

    str = in.readUTF();

    Debug(str);

    if (!str.startsWith("354"))    throw new ProtocolException(str);

    out.println("From: " + from_address);

    out.println("To: " + to_address);

    out.println( "Subject: " + sSu + "n" );

    out.flush();

    out.println("Comment: Unauthenticated sender");

    out.println("X-Mailer: Simple tSmtp");

    out.println("");

    out.println( sMess );

    out.println(".");

    out.flush();

    str = in.readUTF();

    Debug(str);

    if (!str.startsWith("250"))    throw new ProtocolException(str);

    out.println("QUIT");

    out.flush();

    in.close();



    Debug("Fin du Mail...");



    socket.close() ;

    return;

  }



  public void Debug(String str)

  {

//	System.out.println(str);

    tMessage.append(str + "n");



    return;

  }

  public static void main(String args[])

  {

    Frame f = new Frame("tMail");

    tMail tM = new tMail();

    tM.init();

    tM.start();

    f.add("Center", tM);

    f.setSize(350, 200);

    f.pack();

    f.show();

  }

}
#6

شكرا جزيلا اخي Learner

رح اجربها و شكرا لك على كل الاحوال لعزابك معي

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#8

بسم الله الرحمن الرحيم

الجافا ميل تتبع J2EE لكن يمكنك انزالها منفصلة و تتيح لك ارسال البريد الكترونى بسهولة كبيرة مع قوة فى الأختيارات اضا تتيح لك البعد عن تعقيدات Socking

خالد المصرى

#9

اذا ممكن عندي استفسار انا اريد ان ارسل كود الرسالة اي اريد ان تكون شيفرتها html و ليست نص فقط فهل يمكن ذلك

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#10

ليش ما حد يجاوبني ....... ان هذا الموضوع هام فعلا :mad::mad::mad:

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#11

هدي اعصابك،،،

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

و بالنسبة لي انا... ما عندي اي فكره !! لكن ليه ما تستخدم JTextPane ؟

#12

اخي العزيز Learner :

ان الكود الذي اعطيتني اياه لم يتجح فقد اظهر لي الاكسيبشن التالي:

ioe java.net.ConnectException: Connection refused: connect

فما هو رايك بعدما فرحت و قلت خلاص انحلت

هل يوجد حل لذلك

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#13

اخي صلاح وانا كمان علي ضغط لا زم اخلص البرنامج و اشارك فيه مع ذلك حقكم علي :o

و الآن انا فرحان شوف:D:D:D:D

انشاله يتنحل مشكلتي

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#14

بسم الله الرحمن الرحيم

اخى java man ولا تعصب نفسك الجميع هنا فى خدمة الجميع :D

بالطبع يمكنك أرسال كود هتمل و لو أرد ضع كودك و دعنا نفكر معك (gift)

خالد المصرى

#15

ببساطة شديدة:

اريد ان ارسل مصدر الرسالة و اضع فيه كود هتمل و فيه جافا سمكريبت فيظهر عند المتلقي و تتنفذ الجافا سكريبت عنده

فكيف ذلك و طبعا الذي سوف يقوم في ارسال هذه الرسالة جافا ابليت

انا لست معصب بس رح اجن لان هذا الشئ ضروري جدا في البرنامج الذي اعمله و ما عم اجد الحل.......:'(:'(:'(

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#16

(مشاركة فارغة)

#17

اشكرك كثير يا اخي مدني

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

فما هو الحل برايك......ارجو ان تتكرم علي بمزيد من خبرتك و تحللي مشكلتي الي رح تاخذ ثلاث صفحات بعد شوي:'(:'(

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#18

عندي سؤال: معرض باسل .؟؟ هل هو لطلبة الجامعات العربية الذي يقام في سوريا ؟؟

#19

انه لكافة انواع و شرائح المجتمع من مدنين الى جامعين الى عرب وانا الان كما ترى تواجهني عدة مصاعب في برنامج الجديد و ان شاء الله بتنحل:rolleyes:

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#20

شد حيلك .. لأن دائما شباب جامعتنا ياخذون المركز الاول ..

العام الماضي : فاز واحد من تخصص علوم الحاسب الالي بالجامعه عندنا :)

#21

unfortunately ,applets can not listen or connect to sockets without socket permission, so you need to have this permission in your java.policy

Madani

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…