محمد
07-27-2009, 05:21 AM
سبق لي وان قمت بتجربة ارسال بريد الالكتروني وذلك عبر صفحة ASP.NET باستخدام لغة فجول بيسك VB.NET
وكنت وقتها تعلمت الطريقة من موقع ASP.NET عبر احد الافلام التعليمية وكانت التجربة ناجحة ...
وهذه هي الطريقة
نبدأ بكود الفورم او النموذج ... الشكل الخارجي للتنسيق يعتمد عليك http://www.vb4arab.com/vb/images/smilies/smile.gif
ضع هذا الكود في Default.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir=rtl>
<head runat="server">
<title>Send Email</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<p>
من:<br />
<asp:TextBox ID="txtFromAddress" runat="server" Columns="35" /></p>
<p>
الى:<br />
<asp:TextBox ID="txtToAddress" runat="server" Columns="35" /></p>
<p>
الموضوع:<br />
<asp:TextBox ID="txtSubject" runat="server" Columns="50" /></p>
<p>
نص الرسالة:<br />
<asp:TextBox ID="txtBody" runat="server" Columns="75" TextMode="MultiLine" Rows="6" /></p>
<p>
<asp:Button ID="btnSend" runat="server" Text="ارســل"></p>
</div>
</form>
</body>
</html>
بعد ذلك نبد بوضع اعدادت الارسال في ملف web.config كوننا من المفترض ان نستخدمها باستمرار في موقعنا.
ونضع الاسطر التالية بعد <connectionStrings/>
وهي مشروحة حسب كل سطر
<!--اعدادات البريد-->
<system.net>
<mailSettings>
<!--عنوان المرسل منه الدائم-->
<smtp from="webmaster@siteName.com">
<!-- هنا عنوان السيرفر الخاص بالايميل واسم المستخدم والرقم السري-->
<network
host="mail.siteName.com"
userName="webmaster@siteName.com"
port="25"
password="123456" />
</smtp>
</mailSettings>
</system.net>
<!--اعدادات البريد-->
بعد ذلك نقوم بوضع كود الارسال وهو ايضا مشروح في كل سطر بالكود
وذلك بالضغط على زر الارسال لكي تفنتح معنا صفحة الكود Default.aspx.vb ووضع الكود في الاجراء
'تعريف انشاء بريد الالكتروني بادراج المكتبة الخاصة بذلك
'وهي System.Net.Mail.MailMessage
Dim mailMessage As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()
'اعداد الرسالة
'خانة بوضع المرسل منه حسب ادخال النموذج
mailMessage.From = New System.Net.Mail.MailAddress(txtFromAddress.Text.Tr im())
'ممكن استدعاء البريد الالكتروني web.config من ملف
'وهي مفيدة عند استخدامها في تطبيق اتصل بنا ... الخ
'mailMessage.From = New System.Net.Mail.MailAddress(System.Configuration.C onfigurationManager.AppSettings("fromEmailAddress"))
'خانة المرسل اليه حسب ادخال النموذج
mailMessage.To.Add(New System.Net.Mail.MailAddress(txtToAddress.Text.Trim ()))
'يمكن اسخدام عدة ادخالاات اخرى كنسخة ونسخه مخفية وعنوان الرد
'mailMessage.CC
'mailMessage.Bcc
'mailMessage.ReplyTo
'خيارات الارسال
'اهمية الرسالة
mailMessage.Priority = Net.Mail.MailPriority.High
'Text/HTML تنسيق الرسالة
mailMessage.IsBodyHtml = False
'الآن موضوع الرسالة ونص الرسالة
mailMessage.Subject = txtSubject.Text.Trim()
mailMessage.Body = txtBody.Text.Trim()
'عند ارسال مرفقات مع الرسالة attachments استخدم
mailMessage.Attachments.Add(New System.Net.Mail.Attachment("m:\temp.txt"))
'لارسال الرسالة SmtpClient اعداد الفئة
Dim smtpClient As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient()
'لاقتناص اخطاء الارسال Try/Catch استخدم اسلوب
' مفيدة بشكل خاص عندما ترسل تكرار من خلال عدةايميلات
Try
smtpClient.Send(mailMessage)
'هنا رسالة تفيد بنجاح الارسال ... ويمكن وضع نتيجة الارسال في صفحة مستلقة من خلال اداة النص
MsgBox("تم ارسال رسالتك بنجاح")
Catch smtpExc As System.Net.Mail.SmtpException
'عند عدم الارسال سوف تظهر هذه الرسالة التي تفيد بالخطأ
Catch ex As Exception
MsgBox(Err.Description)
End Try
عند استخدام المرفقات في الارسال يجب وضع ملف ومسار صحيح
هذا كل شئ اتمنى تجارب ناجحة
مرفق ملف التطبيق
طبعا تم تطبيق المثال على Microsoft Visual Web Developer 2008 Express Edition
وكنت وقتها تعلمت الطريقة من موقع ASP.NET عبر احد الافلام التعليمية وكانت التجربة ناجحة ...
وهذه هي الطريقة
نبدأ بكود الفورم او النموذج ... الشكل الخارجي للتنسيق يعتمد عليك http://www.vb4arab.com/vb/images/smilies/smile.gif
ضع هذا الكود في Default.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir=rtl>
<head runat="server">
<title>Send Email</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<p>
من:<br />
<asp:TextBox ID="txtFromAddress" runat="server" Columns="35" /></p>
<p>
الى:<br />
<asp:TextBox ID="txtToAddress" runat="server" Columns="35" /></p>
<p>
الموضوع:<br />
<asp:TextBox ID="txtSubject" runat="server" Columns="50" /></p>
<p>
نص الرسالة:<br />
<asp:TextBox ID="txtBody" runat="server" Columns="75" TextMode="MultiLine" Rows="6" /></p>
<p>
<asp:Button ID="btnSend" runat="server" Text="ارســل"></p>
</div>
</form>
</body>
</html>
بعد ذلك نبد بوضع اعدادت الارسال في ملف web.config كوننا من المفترض ان نستخدمها باستمرار في موقعنا.
ونضع الاسطر التالية بعد <connectionStrings/>
وهي مشروحة حسب كل سطر
<!--اعدادات البريد-->
<system.net>
<mailSettings>
<!--عنوان المرسل منه الدائم-->
<smtp from="webmaster@siteName.com">
<!-- هنا عنوان السيرفر الخاص بالايميل واسم المستخدم والرقم السري-->
<network
host="mail.siteName.com"
userName="webmaster@siteName.com"
port="25"
password="123456" />
</smtp>
</mailSettings>
</system.net>
<!--اعدادات البريد-->
بعد ذلك نقوم بوضع كود الارسال وهو ايضا مشروح في كل سطر بالكود
وذلك بالضغط على زر الارسال لكي تفنتح معنا صفحة الكود Default.aspx.vb ووضع الكود في الاجراء
'تعريف انشاء بريد الالكتروني بادراج المكتبة الخاصة بذلك
'وهي System.Net.Mail.MailMessage
Dim mailMessage As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()
'اعداد الرسالة
'خانة بوضع المرسل منه حسب ادخال النموذج
mailMessage.From = New System.Net.Mail.MailAddress(txtFromAddress.Text.Tr im())
'ممكن استدعاء البريد الالكتروني web.config من ملف
'وهي مفيدة عند استخدامها في تطبيق اتصل بنا ... الخ
'mailMessage.From = New System.Net.Mail.MailAddress(System.Configuration.C onfigurationManager.AppSettings("fromEmailAddress"))
'خانة المرسل اليه حسب ادخال النموذج
mailMessage.To.Add(New System.Net.Mail.MailAddress(txtToAddress.Text.Trim ()))
'يمكن اسخدام عدة ادخالاات اخرى كنسخة ونسخه مخفية وعنوان الرد
'mailMessage.CC
'mailMessage.Bcc
'mailMessage.ReplyTo
'خيارات الارسال
'اهمية الرسالة
mailMessage.Priority = Net.Mail.MailPriority.High
'Text/HTML تنسيق الرسالة
mailMessage.IsBodyHtml = False
'الآن موضوع الرسالة ونص الرسالة
mailMessage.Subject = txtSubject.Text.Trim()
mailMessage.Body = txtBody.Text.Trim()
'عند ارسال مرفقات مع الرسالة attachments استخدم
mailMessage.Attachments.Add(New System.Net.Mail.Attachment("m:\temp.txt"))
'لارسال الرسالة SmtpClient اعداد الفئة
Dim smtpClient As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient()
'لاقتناص اخطاء الارسال Try/Catch استخدم اسلوب
' مفيدة بشكل خاص عندما ترسل تكرار من خلال عدةايميلات
Try
smtpClient.Send(mailMessage)
'هنا رسالة تفيد بنجاح الارسال ... ويمكن وضع نتيجة الارسال في صفحة مستلقة من خلال اداة النص
MsgBox("تم ارسال رسالتك بنجاح")
Catch smtpExc As System.Net.Mail.SmtpException
'عند عدم الارسال سوف تظهر هذه الرسالة التي تفيد بالخطأ
Catch ex As Exception
MsgBox(Err.Description)
End Try
عند استخدام المرفقات في الارسال يجب وضع ملف ومسار صحيح
هذا كل شئ اتمنى تجارب ناجحة
مرفق ملف التطبيق
طبعا تم تطبيق المثال على Microsoft Visual Web Developer 2008 Express Edition