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

سؤال عن كيفية تنفيذ برنامج Mail User Agent

بدأه ssilk في 22 نوفمبر 2008 · 7 رد · 1,809 مشاهدة · في برمجة الشبكات والتطبيقات الموزعة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أحاول تطبيق برنامج Mail User Agent

و لكن يظهر لدي الرسالة التالية عند استخدام التعليمة nslookup -type=MX gmail.com

,nslookup' is not recognized as internal or external commad'

operable program or batch file

فماهو الحل و شكرا

#2

استخدام nslookup يجب ان يتم في Command Prompt للويندوز وهنالك طريقة خاصة لتنفيذها بالدوت نيت تم شرحها سابقا في اكثر من مثال مشابه

ضع كامل الكود الذي نفذت به هذا الكوماند لمعرفة سبب الخطأ

تم تعديل هذه المشاركة بواسطة فادي عبدالقادر في 22 نوفمبر 2008 في 09:35 — السبب: اضافة

#3
فادي عبدالقادر كتب:
استخدام nslookup يجب ان يتم في Command Prompt للويندوز وهنالك طريقة خاصة لتنفيذها بالدوت نيت تم شرحها سابقا في اكثر من مثال مشابه

ضع كامل الكود الذي نفذت به هذا الكوماند لمعرفة سبب الخطأ

نعم أخي الكريم نفذتها في ال command prompt فظهرت لي الرسالة التي ذكرتها سابقا

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

import java.io.*;
import java.net.*;

public class EmailSender
{
   public static void main(String[] args) throws Exception
   {
	  // Establish a TCP connection with the mail server.
	  Socket socket = new Socket("mx1.csusb.edu", 25);

	  // Create a BufferedReader to read a line at a time.
	  InputStream is = socket.getInputStream();
	  InputStreamReader isr = new InputStreamReader(is);
	  BufferedReader br = new BufferedReader(isr);

	  // Read greeting from the server.
	  String response = br.readLine();
	  System.out.println(response);
	  if (!response.startsWith("220")) {
		 throw new Exception("220 reply not received from server.");
	  }

	  // Get a reference to the socket's output stream.
	  OutputStream os = socket.getOutputStream();

	  // Send HELO command and get server response.
	  String command = "HELO x\r\n";
	  System.out.print(command);
	  os.write(command.getBytes("US-ASCII"));
	  response = br.readLine();
	  System.out.println(response);
	  if (!response.startsWith("250")) {
		 throw new Exception("250 reply not received from server.");
	  }

	  // Send MAIL FROM command.
	  command = "MAIL FROM: x@aiit.or.kr\r\n";
	  System.out.print(command);
	  os.write(command.getBytes("US-ASCII"));
	  response = br.readLine();
	  System.out.println(response);
	  if (!response.startsWith("250")) {
		 throw new Exception("250 reply not received from server.");
	  }

	  // Send RCPT TO command.
	  command = "RCPT TO: dturner@csusb.edu\r\n";
	  System.out.print(command);
	  os.write(command.getBytes("US-ASCII"));
	  response = br.readLine();
	  System.out.println(response);
	  if (!response.startsWith("250")) {
		 throw new Exception("250 reply not received from server.");
	  }

	  // Send DATA command.
	  command = "DATA\r\n";
	  System.out.print(command);
	  os.write(command.getBytes("US-ASCII"));
	  response = br.readLine();
	  System.out.println(response);
	  if (!response.startsWith("354")) {
		 throw new Exception("354 reply not received from server.");
	  }

	  // Send message data.
	  os.write("SUBJECT: test msg\r\n\r\n".getBytes("US-ASCII"));
	  os.write("David,\r\n".getBytes("US-ASCII"));
	  os.write("\r\n".getBytes("US-ASCII"));
	  os.write("This lab is too hard.\r\n".getBytes("US-ASCII"));

	  // End with line with a single period.
	  os.write(".\r\n".getBytes("US-ASCII"));
	  response = br.readLine();
	  System.out.println(response);
	  if (!response.startsWith("250")) {
		 throw new Exception("250 reply not received from server.");
	  }

	  // Send QUIT command.
	  command = "QUIT\r\n";
	  System.out.print(command);
	  os.write(command.getBytes("US-ASCII"));
	  response = br.readLine();
	  System.out.println(response);
   }
}

ولكن أريد أن أسأل هل أنفذ البرنامج و أنا متصل بالانترنت أولا ثم أكتب تعليمة nslookup

أم ماذا ؟؟؟

شكرا

تم تعديل هذه المشاركة بواسطة فادي عبدالقادر في 22 نوفمبر 2008 في 10:54 — السبب: الرجاء استخدام خاصية تنسيق الكود

#4
اقتباس
نعم أخي الكريم نفذتها في ال command prompt فظهرت لي الرسالة التي ذكرتها سابقا

في هذه الحالة تأكد من وجود الملف nslookup في الـWindows/System32 يبدو انه غير موجود او تم حذفه

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

أم ماذا ؟؟؟

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

#5
فادي عبدالقادر كتب:
في هذه الحالة تأكد من وجود الملف nslookup في الـWindows/System32 يبدو انه غير موجود او تم حذفه

الملف موجود

ولكن المشكلة لاتزال قائمة:(

post-169044-1227344005_thumb.jpg

#6

وعلى فرض أنني أريد تنفيذ هذا البرنامج لإرسال إيميل كيف الطريق إلى ذلك؟؟

أم أنه لاداعي لهذا البرنامج و يمكن عن طريق برتوكول ال telnet بدون البرنامج الستابق

أرجو شرح طريقة التنفيذ من خلال البرنامج و بدونها إن وجدت

مثلا أريد تنفيذ ما يلي بالترتيب:

nslookup -type=MX someschool.edu

telnet mx1.someschol.edu 25

HELO alice

MAIL FROM: <alice@crepes.fr>

RCPT TO: <bob@someschool.edu>

DATA

SUBJECT: hello

Hi Bob, How's the weather? Alice.

.

QUIT

فهل أكتب جميع هذه الخطوات أم يتولى البرنامج الأمر

و شكرا

تم تعديل هذه المشاركة بواسطة ssilk في 22 نوفمبر 2008 في 13:13

#7

هذا ممكن إذا كان الـTelnet سيرفس مفعلة لديك في الميل سيرفر على اي حال انظر المشاركة التالية

كيف أقوم بأتمتة تنفيذ أوامر telnet؟

هل كل ما تريده ارسال ايميل من الميل سيرفر؟ إذا كان كذلك فهذا الأمر بسيط جدا ويوجد له عدة طرق تعتمد على نوع الـAuthentication والتشفير الذي تعتمده في الميل سيرفر لديك كاستخدامه مثلا الـSSL/TLS

تم تعديل هذه المشاركة بواسطة فادي عبدالقادر في 22 نوفمبر 2008 في 18:32

#8
فادي عبدالقادر كتب:
هذا ممكن إذا كان الـTelnet سيرفس مفعلة لديك في الميل سيرفر على اي حال انظر المشاركة التالية

كيف أقوم بأتمتة تنفيذ أوامر telnet؟

هل كل ما تريده ارسال ايميل من الميل سيرفر؟ إذا كان كذلك فهذا الأمر بسيط جدا ويوجد له عدة طرق تعتمد على نوع الـAuthentication والتشفير الذي تعتمده في الميل سيرفر لديك كاستخدامه مثلا الـSSL/TLS

نعم هذا ماأريده

ممكن أن تدلني على بعض هذه الطرق مشكورا

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

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

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

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

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