الانتقال إلى المحتوى

إرسال Email من خلال الـ Oracle


sam94

Recommended Posts

باشا ....
بالنسبة لإرسال EMAIL من خلال الديفيلوبر ...
اولا لابد و أن يكون الأيميل سيرفر بتاعك بيدعم الـ SMTP
يمكنك استعمال اوراكل باكيدج اسمها UTL_SMTP
و من خلال هذه الباكيدج باستطاعتك ارسال ايميل بسهولة ... لكن لا يمكنك إضافة ATTACHEMENT
أما إذا أردت إضافة ATTACHEMENT فعليك استخدام الـ OLE2 ( اللي أنا مش فاهمها قوي بصراحة : ) او يمكنك بسهولة استخدام OCX معد مسبقا ( و قد قمت بتنزيل او سي اكس ظريف جدا لهذا الموضوع و شغلته .... من على هذا الرابط :
http://www.seekfordsolutions.com/Products/SMTPWizard/
بص بقى يا سيدي انت ببساطة شديدة جدا حتحط الكود دا على اي بتون عندك و حتلاقيه بيشتغل هوا :)
مرفق ...

UTL_TRIGGER_CODE.txt

رابط هذا التعليق
شارك

  • بعد 10 شهور...

try this code
DECLARE


OutlookApp OLE2.OBJ_TYPE;
NameSpace OLE2.OBJ_TYPE;
MailItem OLE2.OBJ_TYPE;
OLEPARAM OLE2.LIST_TYPE;
Send OLE2.OBJ_TYPE;
Attachments OLE2.OBJ_TYPE;
Attachment_dummy OLE2.OBJ_TYPE;
var1 varchar2(100);


Begin

--assign a value to the variable from the Oracle Form
-- var1 := :BLOCK5.txt5;

--but for testing, populate the variable 'by hand'
var1 := 'This is a test of Outlook from Oracle app.';

OutlookApp := OLE2.CREATE_OBJ('Outlook.Application');


OLEPARAM := OLE2.CREATE_ARGLIST;


OLE2.ADD_ARG(OLEPARAM,'MAPI');
NameSpace := OLE2.INVOKE_OBJ(OutlookApp,'GetNameSpace',OLEPARAM);
OLE2.DESTROY_ARGLIST(OLEPARAM);


OLEPARAM := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(OLEPARAM,0);
MailItem := OLE2.INVOKE_OBJ(OutlookApp,'CreateItem',OLEPARAM);
OLE2.DESTROY_ARGLIST(OLEPARAM);


OLE2.SET_PROPERTY(MailItem,'To','[email protected]');
OLE2.SET_PROPERTY(MailItem,'Subject','message testing Outlook
automation from Oracle');
OLE2.SET_PROPERTY(MailItem,'Body', 'hello again '||var1);


--add an attachment
Attachments := OLE2.GET_OBJ_PROPERTY(MailItem,'Attachments');
OLEPARAM := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(OLEPARAM,'C:\chris_school.txt');
Attachment_dummy := OLE2.INVOKE_OBJ(Attachments,'add',OLEPARAM);
OLE2.DESTROY_ARGLIST(OLEPARAM);


Send := OLE2.INVOKE_OBJ(MailItem,'Send');


--destroy objects
OLE2.RELEASE_OBJ(MailItem);
OLE2.RELEASE_OBJ(NameSpace);
OLE2.RELEASE_OBJ(OutlookApp);


END;

رابط هذا التعليق
شارك

  • بعد 1 سنة...

السلام عليكم و رحمة الله و بركاتة
يا جماعة انك تبعت أيميل سهلة جدا و مش معقدة :(
Procedure Send_Email(p_Server_Ip In Varchar2, p_sender in varchar2,p_recipient in varchar2,P_Subject In Varchar2, p_message varchar2)
Is
-- mail_server Varchar2(255) := '194.170.100.13';
mail_server Varchar2(255) := p_Server_Ip;
mail_conn UTL_SMTP.connection;
MSG Varchar2(1000) ;

Begin
mail_conn := UTL_SMTP.open_connection(mail_server, 25);
UTL_SMTP.helo(mail_conn, mail_server);
UTL_SMTP.mail(mail_conn, P_SENDER);
UTL_SMTP.rcpt(MAIL_CONN, P_RECIPIENT);
UTL_SMTP.open_data(MAIL_CONN);
MSG := 'Date: ' || TO_CHAR( SYSDATE, 'DD-MM-YY HH:MI:SS AM ' )||CHR(13) || CHR(10) ||
'From: <'|| p_Sender ||'>' ||CHR(13) || CHR(10) ||
'Subject: '|| p_Subject ||CHR(13) || CHR(10) ||
'To: '||p_Recipient ||CHR(13) || CHR(10) || '' ||CHR(13) || CHR(10) ||' A Request Was Sent on '|| TO_CHAR( SYSDATE, 'DD-MM-YY HH:MI:SS AM ' )||CHR(13) || CHR(10) ||
CHR(13) || CHR(10)||p_Message;
UTL_SMTP.write_data(MAIL_CONN, MSG);
UTL_SMTP.close_data(MAIL_CONN);
UTL_SMTP.quit(mail_conn);
Emailpack.Saving_Email_Dtls(p_sender, p_recipient, To_Date(Sysdate,'DD-MM-YY HH:MI:SS AM'), P_message);
End Send_Email;
الطريقة دى شغالة 100% و الحمد لله فى الشركة عندنا
و الله تعالى أعلم

رابط هذا التعليق
شارك

  • بعد 8 شهور...

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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