E-posta atılınca süreç başlatılması istenen e-posta hesabı ve ilgili sürece karar verdikten sonra ilk önce EBI Servis Shell config dosyasında aşağıdaki değişiklikleri uyguluyoruz.
1--config içerisine yeni bir section eklediğimiz için section bölümüne bu alanı eklememiz gerekiyor.
<section name="mailReader" type="EBI.EBIFlow.MailReader.Server.Configuration.Section,EBI.EBIFlow.MailReader.Server"/>
2. E-postadan okuma için yeni bir uygulama başlatılacağı için applications altına application bilgisini eklememiz gerekiyor.
<application namespace="EBI.EBIFlow.MailReader.Server.Application" type="EBI.EBIFlow.MailReader.Server.ApplicationFactory,EBI.EBIFlow.MailReader.Server" />
3-Mail yoluyla başlatmak istediğiniz süreci wflProcesses tablosundan Id sini not almanız gerekmekte, örnek süreç uygulama dizinin de \Assemblies\SampleProcesses\Mail Receiver.process bulunmaktadır.Biz burada örnek süreci kulanarak anlatım yapacağız.
4-mailReader içinde ilgili alanları konfigure etmeden önce sahip olduğu özellikleri
|Adı||Açıklama|
|interval||E-posta okuma süresini saniye cinsenden belirlemek için kullanılır ve varsayılan değeri 60 saniyedir|
|sessionUser||EBIFlow web uygulamasına giriş yapacak kullanıcı ismini belirler.|
|sessionPassword||EBIFlow web uygulamasına giriş yapacak kullanıcı şifresini belirler.|
|logonProvider|
EBIFlow uygulamasına giriş yapacak kullanıcı için kullanılacak logon sistemini belirler ve varsıylan değeri Dummy dir.
|defaultProcess||mailReader içersine birden fazla server eklemesi yapılabilir ve eklenen server lara başlatılacağı süreç set edilmediğinde bu bölümdeki süreci kullanır.|
|servers|
Birden çok server sistemi burada barındırılır.
|server|
E-posta bilgilerini tutar
5-Özellikler bölümünde detaylı olarak açıklanan alanlarla oluşturulmuş örnek konfigurasyon aşağıdadır. Burada adnan.senses EBIFlow kullanıcısı TATLISES domainine bağlı ibrahim.tatlises e-posta adresine gelmiş e-posta sonrası process bölümünde verilmiş Id ye sahip süreci wflProcess tablosundan bularak süreci başlatacak.Eğer process e süreç Id si verilmeseydi defaultProcess de bulunan süreç çalıştırılacaktı.
<mailReader interval="60" sessionUser="adnan.senses" defaultProcess="82B6D98B-D29D-4DF7-9DF5-F0A1D39C3F13"> <servers> <server url="https://owa.eczacibasi.com.tr/EWS/Exchange.asmx" autoDiscoverUrl="" type="Exchange2007_SP1" user="ibrahim.tatlises" password="epostasifresi" domain="TATLISES" timeout="0" process="82B6D98B-D29D-4DF7-9DF5-F0A1D39C3F13" maxitems="5" requestedHeaders="X-Originating-IP;Return-Path;X-MS-Exchange-Organization-AuthSource"/> </servers> </mailReader>
6-Tüm ayarları tamamladık. Örnek bir mail atıyoruz tanımladığımız e-posta adresine burada ibrahim.tatlises adresni kullandığımız için mail atmamız gereken adres bu.
7-Atılan e-posta sonrası ilgili mailReader ygulaması bizim belirttiğimiz değer olan 60 saniyede bir servisi kontrol edecek sonrasında atılan mail e ulaşıp süreci başlatacak.