الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

بعث رسالة الى البريد الالكتروني من خلال الفورم

Featured Replies

بتاريخ:

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

أخواني الاعزاء عملت بحث في المنتدى وجربت كل الطرق وما في اي فائدة , هل يوجد احد منكم جرب الطريقة ونجحت معااااااااااااااه ؟؟؟


يا ريت حد يفيدنا بالموضوع للاهمية القصوى

بتاريخ:
  • كاتب الموضوع

قاصدكم يا شبااااااااااااااااااااااااااااااااب

بتاريخ:

السلام عليكم ،،،

أخي هناك ثلاث طرق لإرسال ايميل من الأوراكل وهي :
1) utl_mail و هي تعمل مع 10g
ا2) utl_smtp و هي تعمل مع 8i وما فوق
3) utl_tcp وهي أيضاً تعمل مع 8i وما فوق

انا استخدمت Utl_smtp وذلك لأنها تعمل على 8i

وهذا هو الكود الذي استخدمته بعد وضعته في Procedure على مستوى قاعدة البيانات

DECLARE
 v_From      VARCHAR2(80) := 'sender mail';
 v_Recipient VARCHAR2(80) := 'recipient mail';
 v_Subject   VARCHAR2(80) := 'test subject';
 v_Mail_Host VARCHAR2(100) := 'Outgoing mail server (smtp)';
 v_Mail_Conn utl_smtp.Connection;
 crlf        VARCHAR2(2)  := chr(13)||chr(10);
BEGIN v_Mail_Conn := utl_smtp.Open_Connection(v_Mail_Host, 25); --- Outgoing mail server (smtp) port 
utl_smtp.Helo(v_Mail_Conn, v_Mail_Host);
utl_smtp.Mail(v_Mail_Conn, v_From);
utl_smtp.Rcpt(v_Mail_Conn, v_Recipient);
utl_smtp.data(v_Mail_Conn,
  'Date: '   || to_char(sysdate, 'Dy, DD Mon YYYY hh24:mi:ss') || crlf ||
  'From: '   || v_From || crlf ||
  'Subject: '|| v_Subject || crlf ||
  'To: '     || v_Recipient || crlf ||
  crlf ||
  'Content-Type: text/html' || crlf ||
  'some message text'|| crlf ||	-- Message body
  'more message text'|| crlf
);
utl_smtp.Quit(v_mail_conn);
EXCEPTION
WHEN utl_smtp.Transient_Error OR utl_smtp.Permanent_Error then
  raise_application_error(-20000, 'Unable to send mail: '||sqlerrm);
END;
/



sender mail : الإيميل المرسل منه
recipient mail : الإيميل المرسل اليه

طبعاً هذا الكود يرسل Simple Text اي نص بسيط ويمكن استخدامه لإرسال Html Message مثلاً

v_From      VARCHAR2(80) := 'sender mail';
 v_Recipient VARCHAR2(80) := 'recipient mail';
 v_Subject   VARCHAR2(80) := 'test subject';
 v_Mail_Host VARCHAR2(100) := 'Outgoing mail server (smtp)';
 v_Mail_Conn utl_smtp.Connection;
 crlf        VARCHAR2(2)  := chr(13)||chr(10);
 mesg VARCHAR2( 4000 );
 mesg_body varchar2(4000)
/* Variable for storing HTML code */
  := ' <html>
<head>
<title>Oracle Techniques By Alaa Albanna</title>
</head>
<body bgcolor="#FFFFFF" link="#000080">
<table cellspacing="0" cellpadding="0" width="100%">
 	<tr align="LEFT" valign="BASELINE">
    	<td width="100%" valign="middle"><h1><font color="#00008B"><b>Send Mail in HTML 	         Format</b></font></h1>
  	 </td>
        </table>
         <ul>
          <li><b><a href="http://www.araboug.org">Oracle Techniques is for DBAs </li>
          <l><b><a href="http://www.araboug.org/ib/index.php?showuser=61038">  			by Alaa Albanna </b> </l>              
  </ul>
 	 </body>
 </html>';
BEGIN v_Mail_Conn := utl_smtp.Open_Connection(v_Mail_Host, 25);
--utl_smtp.command(v_Mail_Conn,'STARTTLS');
utl_smtp.Helo(v_Mail_Conn, v_Mail_Host);
utl_smtp.Mail(v_Mail_Conn, v_From);
utl_smtp.Rcpt(v_Mail_Conn, v_Recipient);
/* Making Message buffer */

 mesg:= 
       'Date: '||TO_CHAR( SYSDATE, 'dd Mon yy hh24:mi:ss' )|| crlf ||
        'From:'||v_From|| crlf ||
        'Subject: Mail Through ORACLE Database' || crlf ||
        'To: '||v_Recipient || crlf ||
        '' || crlf ||mesg_body||'';

utl_smtp.data(v_Mail_Conn, 'MIME-Version: 1.0' ||CHR(13)|| CHR(10)||'Content-type: text/html' || CHR(13)||CHR(10)||mesg);    
utl_smtp.Quit(v_mail_conn);
EXCEPTION
WHEN utl_smtp.Transient_Error OR utl_smtp.Permanent_Error then
  raise_application_error(-20000, 'Unable to send mail: '||sqlerrm);
END SEND_MAIL;
/




هذه فقط تجربتي البسيطة ويمكنك قراءة هذا الموضع بتتيع الرابط التالي لمعرفة باقي الأنواع بالأمثلة مع طريقة عمل Attachment

http://www.orafaq.com/wiki/Send_mail_from_PL/SQL

و بالتوفيق للجميع ،،،

علاء البنا

بتاريخ:

طيب كيف بنقدر نعملها على نسخة 10g???

بتاريخ:

السلام عليكم ،،،

نفس الكود شغال مع ال 10g

في ملاحظة مهمة جداً الإيميل المرسل منو ضروري يكون متعرف على ال outlook

وبالتوفيق ،،،

بتاريخ:

هل نستطيع ان نعملها في فورمز 10G



يمعنى نعمل لها شاشة من

الى

الرسالة




هل استطيع لاني من زمان ادور عليها

بتاريخ:
  • كاتب الموضوع

اخي رعوّود أشكرك على الرد , بس يعني بدي اعرف يعني هلا فقط انسخ البروسيجر وأضعه في قاعدة البيانات ولا في خطوات سابقة ؟؟؟؟؟

يا ريت مزيد من التوضيح وبدي أعرف ايه دخل ال Outlock في الموضوع ؟؟؟

أنا حاولت أجرب هذه الطريقة

Send mail with UTL_MAIL


BEGIN
 EXECUTE IMMEDIATE 'ALTER SESSION SET smtp_out_server = ''127.0.0.1''';
 UTL_MAIL.send(sender => '[email protected]',
		recipients => '[email protected]',
		   subject => 'Test Mail',
		   message => 'Hello World',
		 mime_type => 'text; charset=us-ascii');
END;
/


لانه شفت الكود صغير بس للاسف ما قدرت اعدل smtp_out_server ممكن حد يساعدني لانه بطلعي مسج لا يمكن تعديل الparameter file


ساعدوني يا شباب

تم تعديل بواسطة المقنع2005

بتاريخ:
  • كاتب الموضوع

حليت مشكلة البارميتر فايل لكن الان يا شباب شوفوا المشكلة وين صارت

ORA-29261: æÓíØÉ ÛíÑ ÕÍíÍÉ
ORA-06512: ÚäÏ "SYS.UTL_TCP", line 28
ORA-06512: ÚäÏ "SYS.UTL_TCP", line 257
ORA-06512: ÚäÏ "SYS.UTL_SMTP", line 116
ORA-06512: ÚäÏ "SYS.UTL_SMTP", line 139
ORA-06512: ÚäÏ "SYS.UTL_MAIL", line 405
ORA-06512: ÚäÏ "SYS.UTL_MAIL", line 594
ORA-06512: ÚäÏ line 2

بتاريخ:

السلام عليكم ،،،

اخي ال UTLMAIL,UTLSMTP,UTLTCP هذه كلها عبارة عن Packages موجودة على مجلد ال ADMIN الموجود على ال HOME تبع ال Forms على كل حال انا رفعت ملفات ال SQL بس انت

اعملهم Run لإنشاء ال Packages

أولاً فتح ال SQL PLUS و عمل Connect على ال Database بالمستخدم SYS AS SYSDBA وهذا مهم جداً

ثانياً نزل الملفات من الرابط وفك الضغط على في اي مكان وليكن على C Drive

ثالثاً نفذ ال Sql Script كما يلي :

-- لل UTL_MAIL

@ c:\prvtmail.plb;
@ c:\utlmail.sql;

-- لل UTL_SMTP

@ c:\prvtSMTP.plb;
@ c:\utlSMTP.sql;

-- لل UTL_TCP

@ c:\prvtTCP.plb;
@ c:\utlTCP.sql;




رابعاً قم بعمل Setting للإيميل الذي تريد الإرسال منه على Outlook والأفضل من واقع تجربتي الذي يكون من ال HOST الخاص بك

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

والله ولي التوفيق للجميع ،،،


رابط الملفات :

http://dc168.4shared.com/download/20596723...1347f/ADMIN.rar

بتاريخ:

رابعاً قم بعمل Setting للإيميل الذي تريد الإرسال منه على Outlook والأفضل من واقع تجربتي الذي يكون من ال HOST الخاص بك
كيف يتم ذلك؟ وجزاك الله خيرا

بتاريخ:

السلام عليكم ،،،

من ال Outlook اذهب الى

Tools >> Option >> Account Setting >> From Email Tab >>> New

Select Microsoft Exchange,POP3,IMAP,HTTP>>> Press Next

Check the box beside "Manual configre server setting or additional server type" >>> Press Next

Select Internet E-mail >>> Press Next

your name : اسم المرسل
ُE-mail Address : الإيميل الخاص بك

Account type : نوع الإيميل الخاص بك POP or IMAP
incoming mail server
outgoing mail server (smtp ) هذه الإعدادات يكنك الحصول عليها من ال cpanel الخاصة بك والتي تحصل عليها من الشركة المستضيفة لموقعك أو التي اشتريت ايميلك منها

user name & password : بيانات الدخول

ولو بحثت في الإنترنت سوف تجد الكثير .....

وما قصدته بـ "الأفضل من واقع تجربتي الذي يكون من ال HOST الخاص بك"

هو اني جربت ايميلات مجانية مثل Hotmail,gmail,gmx ولاكن كل محاولاتي فشلت ولكن عندما استخدمت ايميل ينتهي بـ net.sa أو edu.sa كانت العملية تتم بنجاح

و بالتوفيق ،،،

بتاريخ:

اخ رعوود هل يمكن عملها من الفورم



بمعنى انشء لها شاشة


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




هل ممكن

بتاريخ:

السلام عليكم ،،،

نعم ياعزيز ان شاء الله ممكن

انا ارفقة Form سريع يمكنك تجربته بعد ان تنشأ ال Packages الخاصة بـ UTL_SMTP تحديداً لأنها هي المستخدمة في ال Form

ايضاً تأكد من اعدادات الإيميل و دع ال Outlook مفتوح وبعدين اعمل run للـ Form

وبالتوفيق ،،،

الرابط هنا:
http://dc193.4shared.com/download/20640369...20/sendmail.rar

بتاريخ:
  • كاتب الموضوع

اخي العزيز رعوّود اشكرك على التواصل معي ...

انا دخلت على المستخدم sys ونفذت ال

-- لل UTL_MAIL

@ c:\prvtmail.plb;
@ c:\utlmail.sql;

-- لل UTL_SMTP

@ c:\prvtSMTP.plb;
@ c:\utlSMTP.sql;

-- لل UTL_TCP

@ c:\prvtTCP.plb;
@ c:\utlTCP.sql;



وايضا نفذت الاكواد السابقة ولله الحمد نجحت ولكن أريد ان اسألك لماذا تتوجه الرسائل الى ال Junk Email بدل ال Inbox
وايضا اريد بعث نص الرسالة الى الايميل على شكل باراميتر اي ما اريد النص ثابت ؟؟؟؟؟

ايضا بالنسبة للشاشة التي ارفقتها كيف يتم تشغيلها انا فقط غيرت الايميل بتاعك الى ايميلي عند الضغط على الزر وايضا عملت ملف مرفق في نفس المسار
ولكن لا اعرف اين اضع اعدادات السيرفر اللذي لدي ؟؟؟؟؟؟؟

يا ريت تشرح لنا الطريقة ....


بارك الله بك اخي الغالي

تم تعديل بواسطة المقنع2005

بتاريخ:

السلام عليكم ،،،

بالنسبة لل Junk mail يمكنك مراجعة الإعدادات الخاصة به من خلال Tools >>> Options >>> Preference Tab >>> Press Junk mail Button طبعاً هذا الكلام عن طريق ال outlook

أو من اعلى الرسالة الي في ال Junk mail اضغط على move this message to the inbox folder بعد ذلك ستصبح الرسائل المرسلة من هذا الإيميل موثوق بها وتذهب مباشرة
الى ال Inbox Folder

اما بالنسبة لكيفية عمل ال form المرفقة فهي كما يلي:

sender : ضع فيه ايميل المرسل
recipient : ضع فيه ايميل المرسل اليه
subject : موضوع الرسالة
outgoing mail server smtp : اعدادات ال smtp لإيميل المرسل
message : نص الرسالة المرسلة

و الله الموفق ،،،

بتاريخ:
  • كاتب الموضوع

اخي العزيز رعود بالنسبة لشاشتك هي تحتوي على

mail_pkg.logon('Configuraciones de Microsoft Exchange');

mail_pkg.send('[email protected]','Subject','Massege','c:\xxx.xls');
mail_pkg.logoff;


فأين اضع اعدادات ال stmp ؟؟؟؟؟


ايضا اريد ان اسألك انا استخدمت كود ال UTL_TCP بس المشكلة لما تصل الرسالة لا يظهر لي FROM و TO بالرغم من اني ببعثهم في البروسيجر .؟؟؟

بتاريخ:

السلام عليكم ،،،

أخي العزيز ...

أولاً / الكود هذا ليس من الشاشة التي ارفقتها فضلاً اعد انزال الشاشة

ثانباً / ارسلي الكود المكتوب لل UTL_TCP حتى اعرف فين المشكلة


والله ولي التوفيق ،،،

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.