Otomatik Dosya/Mail Gönderme Programı

Katılım
24 Nisan 2005
Mesajlar
3,667
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Belirlenen gün ve zamanda tanımlanmış kişilere, tanımlanmış dosyayı otomatik olarak outlook u kullanarak mail gönderir.


Bu ayarlardın buldunğu dosya otomatikgonder.ini adı ile programın bulunduğu klasörde bulunmalı.


[Ayarlar]
Mail Görünsün=True
* Bu seçenek True ise Gönderilen mail ekranda gösterilir.
Buna bağlı olark "Mail Gönder" de True ise ekrana geldiği gibi "Giden Kutusu" na gider ve gönderilir.
* False ise ekranda gösterilmez
Buna bağlı olark "Mail Gönder" de True ise ekrana geldiği gibi "Giden Kutusu" na gider ve gönderilir.
Mail Gönder=True
*Bu seçenek True ise mail "Giden Kutusu" na gider ve gönderilir.
Bu seçenek False ise mail "Giden Kutusu" na aktarılmadan el ile göndermeniz için bekler.
Mail Alıcısı=deneme124alici1@gmail.com;deneme124alici2@gmail.com;;asriakdeniz@gmail.com
* Mail alıcıları ; ile çoğaltılabilir
Mail Konusu=Günlük Rapor
* Mailin konu bölümündeki bilgi
Mail Metni=Sayın İlgili, günlük rapor dosyası ektedir.
* Mailin gövde bölümündeki bilgi
Mail biçimi HTML ise bu bölümde hmtl tagları da kullanabilir siniz.
Mail Biçimi=1
* Mail biçimi için 2 Html , 3 Zengin metin, 1 salt metin, 0 tanımsız
Önem Derecesi=1
* Önem derecesi 1 normal, 2 çok önemli
Gönderilecek Dosya=deneme.xlsx
* Gönderilecek dosya, dosya yolu ile beraber yazılmalıdır. D:\autoit\Dosya Gönder\deneme.xlsx gibi
Çalışma Zamanı=14:14:25
* Saat dakika saniye olarak mail gönderme zamanı belirlenir.
Çalışma Günleri=1,3,5,7
* Program mail gönderme günleri belirlenir.
1,2,3,4,5,6,7 1 Pazartesi... 7 Pazar


http://asriakdeniz.com/otomatik-dosya-gonderme-programi

Program Autoit script programı ile hazırlandı. Derlenmiş .exe dosyasına güvenmeyenler için açık kodlar aşağıdaki şekildedir.
Autoit programı ile derleyebilir siniz.

Kod:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=C&M 05.ico
#AutoIt3Wrapper_Res_Comment=Otomatik Dosya Gönderme (www.asriakdeniz.com)
#AutoIt3Wrapper_Res_Description=Otomatik Dosya Gönderme (www.asriakdeniz.com)
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Ücretsiz  (www.asriakdeniz.com)
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <AutoItConstants.au3>
#include <Date.au3>
#include <MsgBoxConstants.au3>
;Program kodlama Asri Akdeniz   www.asriakdeniz.com  asriakdeniz@gmail.com
Global $eskizaman=_NowTime()
Global $mailgorunsun
Global $mailgonder
Global $mailalicisi
Global $mailkonusu
Global $mailmetni
Global $mailbicimi
Global $onemderecesi
Global $gonderilecekdosya
Global $calismazamani
Global $calismagunleri
Global $gunliste
Global $dosyadurum

ayaroku()

While 1
   Opt('TrayIconDebug', 1)
   Opt("WinTitleMatchMode", 2)
   $simdi=_NowTime()
   if ($simdi=$calismazamani) and ($eskizaman<>$simdi)  Then
       for $i=1 to $gunliste[0]
           if DayOfWeek(@WDAY)=$gunliste[$i] Then
              calistir()
              Exitloop
           EndIf
       Next
       $eskizaman=$simdi
   EndIf
WEnd

Func ayaroku()

   If not FileExists(@ScriptDir & "\otomatikgonder.ini") Then
      IniWrite("otomatikgonder.ini","Ayarlar","Mail Görünsün",True)
      IniWrite("otomatikgonder.ini","Ayarlar","Mail Gönder",True)
      IniWrite("otomatikgonder.ini","Ayarlar","Mail Alıcısı","alici@alicimailadresi.com")
      IniWrite("otomatikgonder.ini","Ayarlar","Mail Konusu","Günlük Rapor")
      IniWrite("otomatikgonder.ini","Ayarlar","Mail Metni","Sayın İlgili, günlük rapor dosyası ektedir.")
      IniWrite("otomatikgonder.ini","Ayarlar","Mail Biçimi","1")
      IniWrite("otomatikgonder.ini","Ayarlar","Önem Derecesi","1")

      IniWrite("otomatikgonder.ini","Ayarlar","Gönderilecek Dosya","")
      IniWrite("otomatikgonder.ini","Ayarlar","Çalışma Zamanı","14:12:00")
      IniWrite("otomatikgonder.ini","Ayarlar","Çalışma Günleri","1,2,3,4,5,6,7")
   EndIf

   $mailgorunsun=IniRead("otomatikgonder.ini","Ayarlar","Mail Görünsün",True)
   $mailgonder=IniRead("otomatikgonder.ini","Ayarlar","Mail Gönder",True)
   $mailalicisi=IniRead("otomatikgonder.ini","Ayarlar","Mail Alıcısı","")
   $mailkonusu=IniRead("otomatikgonder.ini","Ayarlar","Mail Konusu","")
   $mailmetni=IniRead("otomatikgonder.ini","Ayarlar","Mail Metni","")
   $mailbicimi=IniRead("otomatikgonder.ini","Ayarlar","Mail Biçimi","1")
   $onemderecesi=IniRead("otomatikgonder.ini","Ayarlar","Önem Derecesi","1")
   $gonderilecekdosya=IniRead("otomatikgonder.ini","Ayarlar","Gönderilecek Dosya","")
   $calismazamani=IniRead("otomatikgonder.ini","Ayarlar","Çalışma Zamanı","14:12:00")
   $calismagunleri=IniRead("otomatikgonder.ini","Ayarlar","Çalışma Günleri","1,2,3,4,5,6,7")
   $gunliste = StringSplit($calismagunleri, ",")

EndFunc

Func calistir()

   $dosyadurum=""
   If FileExists($gonderilecekdosya) Then

   Else
      $dosyadurum="Dosya bulunamadı"
   EndIf
   mail_gonder()

EndFunc

Func RemoveExt($Input)
    Local $ExtArray = StringSplit($Input, ".")
    Return StringReplace($Input, "." & $ExtArray[$ExtArray[0]], "", -1)
EndFunc

Func mail_gonder()
  Local $olMailItem = 0
  $oOApp = ObjCreate("Outlook.Application")
  $oOMail = $oOApp.CreateItem($olMailItem)
  $oOMail.Save
  With $oOMail
   .To = ($mailalicisi)
   .Subject = $mailkonusu & " - " & $dosyadurum
   .BodyFormat = $mailbicimi ;2 html , 3 richtext, 1 text, 0 tanımsız
   .Importance =  $onemderecesi ;1 normal, 2 çok önemli
   .Body = Chr(10) & $mailmetni & Chr(10)& Chr(10)
   .attachments.add ($gonderilecekdosya)
   If $mailgorunsun==True Then .Display
   If $mailgonder==True Then .Send
  EndWith
EndFunc

Func DayOfWeek($Weekday)
  If ($Weekday < 0) OR ($Weekday > 6) Then Return "Error..."
  Local $DayOfWeek = StringSplit("So-Mo-Tu-We-Th-Fr-Sa" , "-")
  if $DayOfWeek[$Weekday]="Mo" then  Return 1
  if $DayOfWeek[$Weekday]="Tu" then  Return 2
  if $DayOfWeek[$Weekday]="We" then  Return 3
  if $DayOfWeek[$Weekday]="Th" then  Return 4
  if $DayOfWeek[$Weekday]="Fr" then  Return 5
  if $DayOfWeek[$Weekday]="Sa" then  Return 6
  if $DayOfWeek[$Weekday]="So" then  Return 7
  Return $DayOfWeek[$Weekday]
EndFunc



 
Üst