UTL_MAIL basit ve etkili çözüm

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Ağları ve İnternet
Advertisements

Bilgisayar Ağları Son Hafta
TCP/IP Mimarisi ve Katmanları
HTML
WEB TASARIM Temel Kavramlar.
Özel Site.NET İnternet Nedir? Soner Sevindik.
IIS 6.0. Giriş  Geçtiğimiz yıllarda, Microsoft güvenlik açıkları nedeniyle IIS 4/5 üstünden bir çok saldırıya uğradı.  Bu sebepten Microsoft’un geliştirdiği.
İNTERNET VE BİLGİ AĞLARININ KULLANIMI
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
Filezilla Client & Server
TCP (Transmission Control Protocol)
E-TİCARET.
HTTP’yi (istemci tarafı) kendi kendinize deneyin
Kişisel Web Sayfaları Kullanım Bilgileri
İNTERNET VE İLETİŞİM.
OGM SİTESİNDEN GİRİLEREK E-POSTA HESAP ŞİFRESİ DEĞİŞTİRME
, İngilizce “electronic mail” yani elektronik posta kelimelerinden türetilmiştir. , adından da anlaşıldığı gibi elektronik yolla ve internet.
Web Service Uygulaması
PL/SQL üzerinden Web Sayfası üretmek
E-posta Sistemi Outlook Ayarları
WEB SAYFALARININ SUNUCUYA YERLEŞTİRİLMESİ Okutman İlyas KOÇ.
İNTERNET VE BİLGİ AĞLARININ KULLANIMI
AĞ PROTOKOLÜ.
DOVECOT İLE IMAP VE POP3 SERVER KURULUMU
BTP 108 BİLGİSAYAR AĞ SİSTEMLERİ AĞ KAVRAMI Birden çok bilgisayarın birbirine bağlı olarak kullanılmasıyla oluşturulan çalışma biçimine bilgisayar ağı.
TCP/IP.
FTP: File Transfer Protocol
TEMEL İNTERNET KAVRAMLARI
İNTERNET PROGRAMCILIĞI I
Bilgisayar Mühendisliği Bölümü
Büyük Risk Bilgisayar Ağları Network Soru-Cevap 1 Bilgisayar Ağları
BAĞLANTI (KÖPRÜ) OLUŞTURMA
IP, DNS ve Domain Çığır İLBAŞ.
İnternet Teknolojisi Temel Kavramlar
İnternet Teknolojisi Temel Kavramlar
WEB TASARIMINDA TEMEL KAVRAMLAR
BTEP 203 – İnternet ProgramcIlIğI - I
İnternet Programlama PHP.
 Bilgisayarlar arasında bilgi alışverişini, dosya iletimini sağlamaktadır.  Bu protokol kullanılarak, internet üzerinde bulunan herhangi bir bilgisayarda.
PHP.
TCP/IP – DHCP Nedir?.
E-Posta Hesapları.
İnternet Teknolojisi Temel Kavramlar
Chapter 5. Ağ Protokolleri
Karaman Milli Eğitim Müdürlüğü, Mebbis Şubesi 2012
İKMAP İnternet 1 Ders Notu
Ekle Butonunu tıklayın.
Adres Çözümleme Protokolü (ARP) Version 1
KIRKLARELİ ÜNİVERSİTESİ
E-POSTA Hakan YİĞİT.
B İ L İŞİ M S İ STEMLER İ GÜVENL İĞİ (2016) PROF. DR. ORHAN TORKUL ARŞ. GÖR. M. RAŞIT CESUR.
Havran İlçe Milli Eğitim E-posta Adreslerinin Kullanımı.
Bilgi İşlem Organizasyonu Güz Dönemi Server Çeşitleri ve Aralarındaki Farklar – Burak Eray KAYIŞ.
FTP Nedir ? Deniz Kaya FTP NEDİR ? Ftp (File Transfer Protocol), dosya gönderme protokolü manası gelir. Bir bilgisayardan bir başka bilgisayar.
Öğretim Görevlisi Alper Talha Karadeniz Ağ Temelleri
Asp.Net Veritabanı İşlemleri
Dünyanın bilgisine açılan pencere...
DOMAIN SERVER DOMAIN NEDIR ?
MAİL SERVER Oğuz ZARCI –
PORTLAR Gizem GÜRSEL
İNTERNET VE BİLGİ AĞLARININ KULLANIMI
SQL SERVER STORED PROCEDURE
INTERNET nedir? Bu slayda şirket ambleminizi eklemek için
Temel Internet Kullanımı Y. Doç. Dr. M. Sıtkı İlkay Ekim 2006.
TCP/IP PROTOKOLÜ.
Dünyanın bilgisine açılan pencere...
Dünyanın bilgisine açılan pencere...
TOPLU POSTALAMA İŞLEMİ İÇİN ETİKET OLUŞTURMA VE YAZDIRMA
Asp.Net Veritabanı İşlemleri
Sunum transkripti:

UTL_MAIL basit ve etkili çözüm UTL_MAIL paketini kullanarak Oracle PL/SQL ile e-Posta gönderme uygulaması. Ümit Varol / Diveya Bilgi Sistemleri 15/12/2009 - İstanbul

İçerik e-Posta nedir, nasıl çalışır ? Örnek e-Posta senaryosu. UTL_MAIL nedir, nasıl çalışır. Örnek Kod. Notlar. İstanbul'10 20 Mayıs 2010

e-Posta ? e-Posta nedir ? e-Posta nasıl çalışır? Bunu bilmiyorsanız, bu sunumu ve çalışmayı bırakın, alfabeden tekrar başlayın. e-Posta nasıl çalışır? e-Posta temelde inanılamayacak kadar basit bir yapıya sahiptir. Göndermek istediğiniz e-Posta içeriği, e-Posta sunucunuzda bir metin dosyası olarak saklanır. e-Posta sunucunuz, karşı tarafın sunucusu ile konuşur, tıpkı bir FTP uygulaması daha önce sakladığı dosyayı karşı tarafa ulaştırır. e-Postanın alıcısı kendi sunucusuna bağlandığında bu dosya açılarak içeriği kendisine teslim edilir. Tabi ki bu iş içinde bazı protokoller ve birkaç detay daha var. İstanbul'10 20 Mayıs 2010

e-Posta Nasıl Çalışır? Yazdığınız e-Postanın saklanmasını ve sağlıklı bir şekilde e-Posta alıcısının sunucusuna kadar ulaşmasını sağlayan iletişim protokolü SMTP’dir. SMTP (Simple Mail Transfer Protocol) Port 25 üzerinden çalışır. Size gelen e-Posta dosyalarını tekrar içeriğe dönüştüren ve sunucunuzdan bilgisayarınıza çekip okumanızı sağlayan protokol ise POP3 veya IMAP’dir. POP3 (Post Office Protocol) Port 110 üzerinden çalışır. IMAP (Internet Mail Access Protocol) Port 143 üzerinden çalışıar. İstanbul'10 20 Mayıs 2010

Örnek ePosta Senaryosu Bizim amacımız bir e-Posta göndermek, bu nedenle kapsamımız SMTP ile mesajımızı karşı tarafa iletmek. Bizim posta adresimiz : gonderen@adres.com Mesaj Başlığımız : Otomatik Uygulama Uyarısı İstanbul'10 20 Mayıs 2010

UTL_SMTP Nedir? PL/SQL ile uygulama geliştirenler e-Posta göndermek için Oracle 8i veritabanı sürümünden beri UTL_SMTP paketini kullanılmaktadır. UTL_SMTP paketi, e-Posta alışverişinde kullanılan bir standart olan SMTP üzerinde çalışmanızı sağlayan fonksiyonlar içerir. SMTP (Simple Mail Transfer Protocol, Basit Posta Aktarım Protokolü) UTL_SMTP ile bir e-Posta göndermek için normal hayattaki bir e-Posta gönderme oturumu adımları taklit edilir.  Önce, UTL_SMTP.OPEN_CONNECTION fonksiyonu ile belirli bir bağlantı noktası numarasını kullanılarak bir e-Posta sunucusuna bağlantı kurulur. Bir kez başarılı bir bağlantı kurulduğunda, UTL_SMTP.HELO prosedürü ile sunucuya HELO ( "merhaba") mesajı göndererek posta oturumu başlar. Sırasıyla, gönderen posta kutusunu tanımlamak için UTL_STMP.MAIL, alıcı posta adresini tanımlamak için UTL_SMTP.RCPT ve mesaj metnini tanımlamak için UTL_SMTP.DATA fonksiyonları kullanılır.  UTL_SMTP.QUIT ile oturum sona erdirilir. İstanbul'10 20 Mayıs 2010

UTL_Mail Nedir? 10g sürümü ile birlikte UTL_Mail adında yeni bir paket geldi ! Bu yeni paket bir öncekinden farklı olarak tek satırda, basitçe posta göndermenize olanak sağlar. UTL_MAIL.SEND (Gönderen, AlıcıListesi, CC, BCC, Konu, Mesaj, mime_type, Öncelik) Bu fonksiyondaki Öncelik değişkeni PLS_INTEGER tipindedir, diğer tüm değişkenler ise VARCHAR2 tipindedir. UTL_Mail paketi, son derece kolay yazılabilen yapısı ile popüler e-Posta gönderme yöntemi olmuştur. İstanbul'10 20 Mayıs 2010

UTL_Mail Nedir? Tabi ki bu tek satırlık büyük avantaj, bir sistem yöneticiniz var ise ve gerekli ön ayarları sizin için yaptı ise geçerli! Eğer böyle bir şansınız yok ise bir defalığına yapmanız gereken ayarlar için takip etmeniz gereken yol şu şekilde : Öncelikle system DBA olarak Logon olun, CONN sys/password AS SYSDBA İlk Adım, Aşağıdaki iki script’i kullanarak UTL_MAIL paketini yükleyin: @$ORACLE_HOME/rdbms/admin/utlmail.sql @$ORACLE_HOME/rdbms/admin/prvtmail.plb İkinci Adım, Bu paket için PUBLIC veya belirleyeceğiniz kullanıcı için Grant yetkisi verin. GRANT execute ON utl_mail TO <schema_name>; (veya) GRANT execute ON utl_mail TO PUBLIC; Son Adım, RDBMS tanımlama dosyası init.ora içinde SMTP_OUT_SERVER parametresini SMTP sunucusunu gösterecek şekilde tanımlayınız. ALTER SYSTEM SET smtp_out_server=’smtp.domain.com’ SCOPE=SPFILE; SHUTDOWN IMMEDIATE STARTUP Not: SMTP_OUT_SERVER tanımlamasındaki SCOPE parametresi 3 değer alabilir. memory (Sadece çalışan oturum için geçerli olmasını sağlar) spfile (Daha çok tercih edilen seçenektir. Fakat sunucunun RESTART edilmesi gereklidir.) both İstanbul'10 20 Mayıs 2010

UTL_Mail Nasıl Çalışır? UTL_Mail paketi ile bir e-Posta gönderelim : UTL_Mail.Send Bu komut bir procedure olarak çağrılmalıdır. BEGIN UTL_MAIL.send( sender => ‘me@address.com’ ,recipients => ‘you@address.com’ ,cc => ‘person1@address.com, person2@address.com‘  ,bcc => ‘person3@address.com, person4@address.com’ ,subject => ‘Test Mail’ ,message => ‘Hello World’ ,mime_type  => ‘text; charset=us-ascii‘ ,priority => 3); END; Örnekte görüldüğü üzere Sender, Receipents, CC ve BCC alanları e-Posta adresleri için kullanılır. Birden fazla adres yazmak için virgülle ayırarak devam etmelisiniz. Subject kısmında e-Posta’nın başlığını, Message kısmında da içeriği yazabilirsiniz. MIME_TYPE, gönderilecek e-Posta’nın Message kısmındak, içeriğin tipini göstermektedir. TEXT HTML Priority ise destekleyen sistemlerde gönderilen e-Postanın öncelik seviyesini belirleyebilirsiniz. İstanbul'10 20 Mayıs 2010

UTL_Mail Nasıl Çalışır? UTL_MAIL paketi içinde iki prosedür daha bulunmaktadır. SEND_ATTACH_RAW RAW tipinde eklentisi olan e-Posta göndermek için. SEND_ATTACH_VARCHAR2 VARCHAR2 tipinde eklentisi olan e-Posta göndermek için. İstanbul'10 20 Mayıs 2010

Örnek Kod ePosta göndermek için sadece SMTP sunucunuzu tanımlayın ve tek komutla gönderinizi alıcısına ulaştırın BEGIN EXECUTE IMMEDIATE 'ALTER SESSION SET smtp_out_server = ''127.0.0.1'''; UTL_MAIL.send ( sender => 'me@address.com', recipients => 'you1@address.com, you2@address.com', subject => 'Test Mail', message => 'Hello World', mime_type => 'text; charset=us-ascii'); END; / İstanbul'10 20 Mayıs 2010

Notlar Uygulamanızda yer alan metin içinde tek veya çift tırnak gibi ayraçlar kullanırken sıkıntı yaşıyorsanız 10g imdadınıza yetişiyor. Eskiden beri kullanılan aşağıdaki ikileme yöntemi yerine, DBMS_OUTPUT.put_line('This is Tim''s string!'); Artık aşağıdaki gibi daha kolay bir yazım biçimi var. DBMS_OUTPUT.put_line(q'#This is Tim's string!#'); DBMS_OUTPUT.put_line(q'[This is Tim's string!]'); VARCHAR2 tipinin PL/SQL içindeki boyutu 32767 byte olabilmekle birlikte veritabanında sadece 4000 byte olabiliyor. Bu detaya dikkat etmek faydalı olacaktır. İstanbul'10 20 Mayıs 2010

Notlar UTL_MAIL 3 adet fonksiyon içeren bir pakettir. http://download.oracle.com/docs/cd/B13789_01/appdev.101/b10802/u_mail.htm#996728 UTL_MAIL, UTL_SMTP ve UTL_TCP paketleri ile ePosta gönderim örnekleri: http://www.orafaq.com/wiki/Send_mail_from_PL/SQL İstanbul'10 20 Mayıs 2010