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

لماذا لا يظهر الـ output مع أنه لا توجد أخطاء>كود Javamail<

بدأه soooma في 13 نوفمبر 2011 · 3 رد · 730 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أنا أتيت مسبقاً أود التعلم على الـ javamail وكيفية تثبيت البرنامج والحمد الله وجدتها ولكن لدي الآن بعض المشاكل

وأود من حضرتكم مساعدتي فيها فقد حصلت على الكود ولكن عند عمل run لا يظهر الـ output فيظهر


Exception in thread "main" javax.mail.MessagingException: Could not connect to SMTP host: 192.168.10.205, port: 25;
nested exception is:
java.net.ConnectException: Connection timed out: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
at javax.mail.Service.connect(Service.java:295)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
at SMTPClient.main(SMTPClient.java:40)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:316)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:177)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:164)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:154)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:390)
at java.net.Socket.connect(Socket.java:578)
at java.net.Socket.connect(Socket.java:527)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:288)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:231)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900)
... 7 more

Process completed.
--------------------Configuration: <Default>--------------------

قد تكون لدي أخطاء في وضع البكج في CLASSPATH لذلك سأضعه

.;C:\Program Files\Java\javamail-1.4.4\mail.jar;C:\Program Files\Java\javamail-1.4.4;C:\Program Files\Java\jaf-1.1.1\activation.jar;C:\Program Files\Java\jre7\lib\ext\QTJava.zip

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class SMTPClient {

  public static void main(String args[]) throws Exception {

  String host = "192.168.10.205";
  String from = "test@localhost";
  String to = "test@localhost";

  // Get system properties
  Properties properties = System.getProperties();

  // Setup mail server
  properties.setProperty("mail.smtp.host", host);

  // Get the default Session object.
  Session session = Session.getDefaultInstance(properties);

  // Create a default MimeMessage object.
  MimeMessage message = new MimeMessage(session);

  // Set the RFC 822 "From" header field using the
  // value of the InternetAddress.getLocalAddress method.
  message.setFrom(new InternetAddress(from));

  // Add the given addresses to the specified recipient type.
  message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

  // Set the "Subject" header field.
  message.setSubject("hi..!");

  // Sets the given String as this part's content,
  // with a MIME type of "text/plain".
  message.setText("Hi ......");

  // Send message
  Transport.send(message);
  System.out.println("Message Send.....");
  }
}

وهذا الكود رجاءً أعطوني إجابات شافية فالتقديم الأولي للمشروع الأسبوع الجاي و أنا أبغى أعمل تست لهذا الكود لأستطيع كتابة كود بنفسي

وشكراً مقدماً

#2

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

جرب الارسال من gmail ، استخدم هذه الدالة:

   private static boolean sendingMessage(String subject, String content, String toAddress) {
      try {
         String host="smtp.gmail.com";
         int port=587;
         String user="your-email@gmail.com";
         String pass="your-password";

         Properties props=new Properties();
         props.put("mail.smtp.auth", "true");
         props.put("mail.smtp.starttls.enable", "true");

         Session session=Session.getInstance(props);
         Transport transport=session.getTransport("smtp");
         transport.connect(host, port, user, pass);

         Address[] addresses=InternetAddress.parse(toAddress);
         Message message=new MimeMessage(session);
         message.setFrom(new InternetAddress(user));
         message.setRecipients(Message.RecipientType.TO, addresses);
         message.setSubject(subject);
         message.setText(content);

         transport.sendMessage(message, addresses);
         System.out.println("SEND");
         transport.close();

         return true;
      }
      catch (Exception e) {
         e.printStackTrace();
      }

      return false;
   }

بالتوفيق،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#3

مشكور أخوي ماقصرت

اشتغل الكود تمام

جزاك الله ألف خير

#4
اقتباس
وأعتقد انك تحتاج لباسورد الايميل لكي ترسل الرسالة حتى يتم التحقق منها بشكل صحيح على السيرفر ولا يتم اعتبارها سبام .

هذا الكلام منطقى

لكن انظر الى هذا الرابط

http://java.sun.com/developer/onlineTraining/JavaMail/contents.html#JavaMailIntro

الى الجزء Sending Message

يقوم براسال بريد بدون استخدام اسم المستخدم و كلمة السر

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

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

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

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

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