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

E- mail stuck in Queue

مغلق
بدأه جوليا في 4 يونيو 2007 · 15 رد · 1,096 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

E- mail stuck in Queue

قمت بإنشاء صفحة ويب تقوم بعملية إرسال الرسائل ، و هذا هو الكود لتلك الصفحة:

Imports System.Net.Mail

Partial Class E_Mail_SendEMail
	Inherits System.Web.UI.Page

	Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
		Try
			Dim ToAddress As String = CType(SenderTextBox.Text, String)

			Dim Receiver As String = CType(ReceiverTextBox.Text, String)

			Dim msg As New MailMessage(Receiver, ToAddress)


			msg.Subject = CType(SubjectTextBox.Text, String)
			msg.Priority = MailPriority.High
			msg.Body = CType(FreeTextBox1.Text, String)
			msg.IsBodyHtml = True

			If Not (String.IsNullOrEmpty(AttachmentFile.FileName) OrElse AttachmentFile.PostedFile Is Nothing) Then

				msg.Attachments.Add(New Attachment(AttachmentFile.PostedFile.InputStream, AttachmentFile.FileName))
			End If

			Dim smtp As New SmtpClient()



			smtp.Host = "127.0.0.1"
			smtp.Port = 25


			smtp.Send(msg)
			msg = Nothing



		Catch ex As Exception
			lblFaield.Text = "Error : " + ex.Message
		End Try

	End Sub

End Class

المشكلة عند إرسال الرسائل ، لا تتم عملية الإرسال بشكل صحيح .

إنما يتم تخزينها ضمن المجلد التالي :

C:\Inetpub\mailroot\Queue

و قد راجعت احد المواضيع هنا بخصوص هذه المشكلة ، و كان الحل كالتالي :

اقتباس
يجب عليك ان تضع هذا الip في

تذهب الى

Internet Services Managerفي الوندوز 2000

و من ثم

Default smtp virtual server

الزر الأيمن خصائص

وتذهب للسان التبويب access

ومن ثم الى relay

ومن ثم add وتضع ip في خانة الsignal computer

>>> الكاتب : محمد الهباش

و لكن ذلك لم يجدي نفعا معي ؟؟

و قد أشار العضو " smiling4ever " في احد المواضيع إلى مراجعة الموقع :

http://www.systemwebmail.com/

حاولت البحث في الموقع لكني لم أوفق لإيجاد الحل .

أرجو أن يكون لديكم الحل لذلك .

، شكرا لاطلاعكم على الموضوع.

، تحياتي.

#2

ما هي صورة الملفات التي يتم تخزين الرسائل عليها وما هي بالضبط رسالة الخطأ ؟؟

نموت وتحيا ...................فلسطين .

#3

المشكلة حلها بإذن الله بسيط

مثلما تقول هذه المشاركة انو المشكلة فقط تكمن في وجود المجلد QUEUE الذي يتم حذفه بهذه الكيفية ألا وهي او توقف STMP SERVER ومن ثم تحذف المجلد المسمى QUEUE فقط وإن شاء الله تنفع

واذا ما نفعت الرجاء الرد

http://www.webservertalk.com/message458809.html

نموت وتحيا ...................فلسطين .

#4

سلام ..

يا للصدفة المبرمج / محمد الهباش ..

اعتذر على التاخر في الرد ...

بالنسبة لسؤالك ...

يتم حفظ الرسائل داخل المجلد بالصيغة التالية :

NTFS_xxxxxx.EML

بالنسبة لرسالة ا لخطأ :

لا تظهر لي رسالة خطأ ، انما تمت عملية الارسال بنجاح .

و لكن بالطبع لم تتم عملية الارسال بنجاح فالرسائل تخزن داخل مجلد الـ Queue.

بالنسبة للحل المقترح ...

لقد نفذته وفق الخطوات المحددة ... لكن لم يجدي ذلك نفعا .

، شكرا لاهتمامك .

، تحياتي.

#5

راح اشوف المشكلة كمان مرة

نموت وتحيا ...................فلسطين .

#6

بالمناسبة هل الرسائل ترسل الى الهدف ام لأ

؟

نموت وتحيا ...................فلسطين .

#7

سلام..

المبرمج : محمد الهباش

أقدر لك جهودك ..

اجابة على سؤالك :

اذا كنت تقصد بالهدف ( المرسل إليه ) ، بالطبع لا تصل إليه .

، تحياتي.

#8

انا راح ابقى لهذا الموضوع حتى لو كان اخر موضوع في حياتي

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

او انه يكون السيرفر مطفأ

لأنه بصراحة مافي غير هيك انا دورت لمن دخت على العموم لعل هذا الجزيء من الكتاب يساعد انا قرأته ولخصت الاسباب الآنفة ذكرها التي ذكرتها المقالة للأسباب التي تجعل الرسائل تخز في message queue

http://www.kerio.com/manual/kms/en/ch21s01.html

ها هو انا دخت بصراحة

نموت وتحيا ...................فلسطين .

#9

سلام ..

المبرمج : محمد الهباش

شكرا مرة أخرى .

في الواقع قبل أن أضع الموضوع .. قد قرات عن ذلك مسبقا ...

و هو احتمالية أن يكون الخادم مطفأ ... و قد تأكدت من ذلك ... فهو يعمل..

عن طريق الذهاب إلى :

(Control Panel>>Administrative Tools>>Services>>Simple Mail Transfer Protocol (SMTP

، الغريب في الأمر أن الرسائل في المجلد الخاص بالـ Queue تختفي بعد فترة و لا تصل إلى المرسل إليه . :(

، أعتذر عن ازعاجك بالبحث عن هذه المشكلة، لكني أقدر محاولاتك.

، تحياتي.

#10

الكلاسات التي تستخدمينها ليست هي المطلوبة.انت تستخدمين كلاسات System.Net.Mail بينما المطلوب هو استخدام System.Web.Mail

الكود التالي بc# لكن ينطبق على VB.NET ايضا

اضيفي السطر :

using System.Web.Mail;

 MailMessage mm = new MailMessage();
				mm.From = "madani@mycompany.com";
		mm.To = "friend@company.com";
		mm.Subject = "hi there";
		mm.Body = "hello";
		mm.Attachments.Add(new MailAttachment("c:\mydocument.pdf")); 
		SmtpMail.SmtpServer = "127.0.0.1";
		SmtpMail.Send(mm);

هناك مشكلة اخرى تواجه البعض و هو ان الميل سيرفر لا يقبل ارسال الرسائل.تاكدي من ان السيرفر يقبل ذلك:

Control Panel->Admin Tools->Internet Info Service->Default SMTP Server->Properties->Access->Connection

اختاري Only The List Bellow ثم اضيفي 127.0.0.1 الى القائمة

اعملي نفس الشيء في قسم Relay

اعملي stop ثم start للSMTP Server

بالنسبة للupload فالاحسن ان تحفظي الملف في مجلد مؤقت ثم تؤشري عليه من الكود لارساله مع الايميل ثم تحذفي الملف

#11

سلام ..

الأخ / madani

شكرا لمشاركتك ..

لقد قمت بتغيير مكتبة التشغيل ،و أضفت الـ IP للـ Connection الخاص بـ SMPT كما اقترحت ، لكن لم يجدي ذلك نفعا .

لدي ملاحظة صغيرة بخصوص مكتبة التشغيل System.Net.Mail التي استخدمتها سابقا ..

وهي ما كتب في ملفات التوثيق الخاصة بالـ MSDN ، و كانت كالتالي :

"

Note: This namespace is new in the .NET Framework version 2.0.

The System.Net.Mail namespace contains classes used to send electronic mail to a Simple Mail Transfer Protocol (SMTP) server for delivery.

The MailMessage class represents the content of a mail message. The SmtpClient class transmits email to the SMTP host that you designate for mail delivery. You can create mail attachments using the Attachment class.

"

، تحياتي.

#12

انت محقة ,الكلاسات هذه جديدة و المفروض استخدامها عوض كلاسات System.Web.Mail لكن اعتقد ان اغلب المطورين متعودين على الاخيرة اي System.Web.Mail لذلك ستجدين اطلاع اكثر عندهم عن الاخطاء التي تظهر بينما الكلاسات الجديدة قد تاتي باخطاء غير معروفة.انا شخصيا ما زلت استخدم الكلاسات تحت System.Web.Mail :)

ثانيا ماذا تقصدين ب "لكن لم يجدي ذلك نفعا " ؟ ماذا حدث بالضبط ؟

#13

سلام ..

الأخ /Madani

شكرا لمتابعتك الموضوع ...

أعني بعبارة " لم تجدي نفعا " ... أن الخطوات التي طلبتها مني لم تحقق الهدف المطلوب منها في حل المشكلة .

، تحياتي.

#14

ربما تكون المشكلة في ان السيرفر يشك في ان الرسالة من نوع Spam وهذا ما حدث معى من قبل.الهوتميل مثلا اصبح من الصعب ارسال رسائل اليه عن طريق الكود ,وحتى الياهو.انا جربت ابعث للياهو فظلت الرسالة في مجلد queue لمدة 3 دقائق ثم تم الارسال ,والسبب هو ان سيرفر الياهو كان يقوم بفحص الرسالة (تاكدت من ذلك عن طريق SMTP logs) ,وحتى بعد ان استلمت الرسالة وجدتها في مجلد الBulk و ليس الInbox

على العموم جربي ابعثي على الياهو باستخدام عنوان رسالة سابقة (اي subject عنوان رسالة موجودة اصلا في صندوق بريدك الالكتروني).اعملي نفس الشيء بالنسبة لمحتوى الرسالة اي الbody بحيث يكون مثل محتوى الرسالة المستلمة من قبل.

الان غيري قيمة message.To و اجعليها تساوي عنوان ايميلك على الياهو,

كذلك غيري قيمة message.From واجعليها مساوية لعنوان الشخص الذي ارسل اليك الرسالة الموجودة في الياهو

تم تعديل هذه المشاركة بواسطة madani في 9 يونيو 2007 في 15:46

#15

سلام ..

الأخ / Madani

و أخيرا سوف أبتسم :)

لقد كنت محقا ، المشكلة في الـ HotMail نفسه ... يبدو أن اعدادات استقبال الرسائل عالية جدا ...

حسنا ، لقد جربت كما طلبت مني بإستخدام رسالة سابقة في بريد الـ Yahoo و قد نجح الأمر ... لكنها تصل إلى مجلد الـ Bulk ( أي الرسائل الغير مرغوبة ).

و من ثم ، جربت ارسال رسالة عادية إلى بريد الـ Yahoo .. و قد وصلت أيضا بنجاح .

أعتز بمحاولتك لمساعدتي .

شكرا لك Madani !

، تحياتي.

#16

شكرا للأخ مدني على التوضيح

نموت وتحيا ...................فلسطين .

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

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