الانتقال إلى المحتوى
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.

إرسال E-mail من Form 10g به Attachment

Featured Replies

بتاريخ:

يا جماعة عاوزين نرسل E-mail بالأوتلوك من خلال الفورم بشرط إرسال ملف صورة مخزنة من نوع BLOB في قاعدة البيانات ورقم الإصدار 10g عاوزين نشوف المحترفين فين

  • بعد 3 أسابيع...
بتاريخ:
  • كاتب الموضوع

الرجاء المساعدة

بتاريخ:

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

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

عزيزي عصام
انا بحثت في كل المنتديات العربية والأجنبية ولكن للأسف مافيش طريقة نفعت مع 10g والكل بيتهرب من التعامل معها لأنها تستخدم Web_Util والجافا وكل الطرق المذكور بمنتدانا العملاق للأسف لم تفلح وطريقة الأخ الفاضل عبداللطيف تعطي خطأ Frm-40735 ora-305500 شكرا على اهتمامك بالرد

بتاريخ:

هذا شرح للخطأ وللمعلومية انا لم أجرب طريقة الاخ عبد اللطيف
ORA-30550: index depends on a package/function spec/body which is not valid

بتاريخ:

Create this procedure in your schema

CREATE OR REPLACE PROCEDURE S_MAIL
(V_MAILTO IN VARCHAR2
,V_MAILFROM IN VARCHAR2
,V_MAILFROM2 IN VARCHAR2
,V_SUBJECT IN VARCHAR2
,V_BODY IN LONG
,V_CC IN VARCHAR2  := null
,V_BCC IN VARCHAR2 := null)
IS
-- PL/SQL Specification
CONN UTL_SMTP.CONNECTION;
dato varchar2(4000);

-- PL/SQL Block
BEGIN DECLARE
CONN UTL_SMTP.CONNECTION;
dato VARCHAR2(4000);
nSqlCode NUMBER(8);
vSqlErrm VARCHAR2(4000);
vSrv VARCHAR2(100);

BEGIN vSrv := 'xxx.xxx'; -- ضع اسم الميل سيرفر داخل مؤسستك هنا 
CONN := UTL_SMTP.OPEN_CONNECTION(vSrv,25);
UTL_SMTP.HELO(CONN,'xxx.xxx');   -- ضع اسم الميل سيرفر داخل مؤسستك هنا 
UTL_SMTP.MAIL(CONN,v_mailto);
UTL_SMTP.RCPT(CONN,v_mailto);
UTL_SMTP.RCPT(CONN,v_cc);
UTL_SMTP.RCPT(CONN,v_bcc);
UTL_SMTP.OPEN_DATA(CONN);


UTL_SMTP.WRITE_DATA(CONN,'MIME-Version: 1.0' || utl_tcp.crlf);
UTL_SMTP.WRITE_DATA(CONN, 'Content-Type: text/html; charset=windows-1256' || utl_tcp.crlf);
UTL_SMTP.WRITE_DATA(CONN, 'Content-Transfer-Encoding: 8bit' || utl_tcp.crlf);
UTL_SMTP.WRITE_DATA(CONN,'Date:'||TO_CHAR(SYSDATE,'dd mon rrrr hh24:mi:ss')||utl_tcp.CRLF);
UTL_SMTP.WRITE_raw_DATA(CONN,utl_raw.cast_to_raw('From:'||v_mailfrom||utl_tcp.CRLF));
UTL_SMTP.WRITE_raw_DATA(CONN,utl_raw.cast_to_raw('To:'||v_mailto||utl_tcp.CRLF));
UTL_SMTP.WRITE_raw_DATA(CONN,utl_raw.cast_to_raw('Subject:'||v_subject||v_mailfrom2||utl_tcp.CRLF));
UTL_SMTP.WRITE_DATA(CONN,utl_tcp.CRLF);

-- Splits body (long) into varchar2s. FOR I IN 0..CEIL(LENGTH(V_BODY)/2000)-1 LOOP

DATO:=SUBSTR(V_BODY,I*2000+1,2000);
UTL_SMTP.WRITE_raw_DATA(CONN,utl_raw.cast_to_raw(utl_tcp.CRLF||DATO));

END LOOP;

UTL_SMTP.CLOSE_DATA(CONN);
UTL_SMTP.QUIT(CONN);


EXCEPTION
WHEN utl_smtp.transient_error THEN
nSqlCode := SQLCODE;
vSqlErrm := SQLERRM;

BEGIN UTL_SMTP.CLOSE_DATA(CONN);
EXCEPTION WHEN OTHERS THEN NULL;
END;

BEGIN utl_smtp.quit(conn);
EXCEPTION WHEN OTHERS THEN NULL;
END;

raise_application_error(-20100, vSqlErrm);

WHEN utl_smtp.permanent_error THEN
nSqlCode := SQLCODE;
vSqlErrm := SQLERRM;
BEGIN UTL_SMTP.CLOSE_DATA(CONN);
EXCEPTION WHEN OTHERS THEN NULL;
END;

BEGIN utl_smtp.quit(conn);
EXCEPTION WHEN OTHERS THEN NULL;
END;

raise_application_error(-20200, vSqlErrm);
END;
END S_MAIL;
[size=4]Execute this procedure from sql plus as follow[/size]
execute send_mail('mail address to receive the mail ',' maila ddress of sender ',' mail address of sender','subject ','message body ', 'null', 'null');
[size="4"][/size]


this way is correct and i use it from application server and sql plus and I T W O R K S

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

أخي العزيز عصام أعتقد ان الكود ده من غير Attachment وده يهمني جدا لإرسال ملحقات مع الرسالة ثانياً هل هو شغال على 10g نظام Server و Client أرجوا الإفادة وشكراً لك

بتاريخ:

نعم الكود ده 10g و يمكنك تجربته اولا من خلال الsqlplus حتى تتأكد من عدم وجود مشاكل به وبعد ذلك يمكنك من تنفيذه من خلال فورم عن طريق تحويل القيم المباشرة مثل العنوان البريدى للمرسل وكذا المستقبل وموضوع الرسالة و نص الرسالة الى قيم من حقول على الفورم وهذه الطريقة مجربة عندى

  • بعد 2 سنة...
بتاريخ:

لو سمحت يا شباب انا مش عارف ازاى اجيب اسم الميل سيرفر من جهازى حد ممكن يوضحلى

وجزاه الله خير

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

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

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

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

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

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.