Forum

Outlook Mail Boyutu...
 
Bildirimler
Hepsini Temizle

Outlook Mail Boyutu Denetleme

7 Yazılar
3 Üyeler
0 Likes
567 Görüntüleme
(@NuriOzden)
Gönderiler: 70
Estimable Member
Konu başlatıcı
 

Merhaba, 

Bazı kullanıcılarımızın gönderdiği mail boyutunun 2 mb'ı geçmemesi gerekmektedir. Ortamda Exchange yok, Mail sunucum postfix. Bir program buldum bilgisayara yüklüyorsunuz, mail gönderirken eki var mı yok mu diye denetliyor, yoksa maili göndermiyor. Bu tarzda bir programa ihtiyacım var fakat bulamadım. Maili karşı tarafa gitmeden denetlemeli. 

 
Gönderildi : 10/08/2012 13:43

(@ozgurmazlum)
Gönderiler: 2208
Illustrious Member
 

Kullanıcı bazlı engellemek zor. Siz lokalinize bir program kurdunuz peki kişi webmail üzerinden gönderirse bunu nasıl kullanıcı bazlı limitleyeceksiniz.

 
Gönderildi : 10/08/2012 14:10

(@NuriOzden)
Gönderiler: 70
Estimable Member
Konu başlatıcı
 

Bu kısıtlamanın uygulandığı kullanıcıların sadece 110 ve 25 nolu portları açık. Webmail kullanamazlar. Zaten amacımız engellemek değil. Uydu bağlantısı kullandığımızdan her kb için para ödüyoruz. Bu yüzden büyük maillerin engellenmesi önemli. 

 
Gönderildi : 10/08/2012 14:27

(@sonerkoca)
Gönderiler: 194
Reputable Member
 

outlook kullaniyorsaniz asagidaki macro koduyla sorunu cozebilirsiniz. tabi burda ekli dosya boyutu kontrol ediliyor. 2 mb text mesaj yazmazlar herhalde 🙂

Private Sub Application_ItemSend(ByVal Item As Object, durum As Boolean)
If TypeOf Item Is Outlook.MailItem Then
durum= Not (kontrolet(Item))
End If
End Sub

Private Function kontrolet(posta As Outlook.MailItem) As Boolean

Dim boyut1 As Long
Const MAX_ITEM_SIZE As Long =2097152 ' 2 MB
Dim gonder As Boolean

gonder = True
If posta.Attachments.Count Then
boyut1 = posta.Size
If boyut1 > MAX_ITEM_SIZE Then
gonder = (MsgBox("mail boyutu: " & boyut1 & " Byte. iptal edilsinmi?",
vbYesNo) = vbNo)
End If
End If
kontrolet= gonder
End Function

 
Gönderildi : 12/08/2012 02:47

(@NuriOzden)
Gönderiler: 70
Estimable Member
Konu başlatıcı
 

İstediğim tamda böyle bir kontroldü. Ancak kod hata da vermiyor, görevini de yapmıyor. makro denetleme durumu tamamen kapalı.

 

Private Sub Application_ItemSend(ByVal Item As Object, durum As Boolean)

If TypeOf Item Is Outlook.MailItem Then

durum = Not (kontrolet(Item))

End If

End Sub

Private Function kontrolet(posta As Outlook.MailItem) As Boolean

Dim boyut1 As Long

Const MAX_ITEM_SIZE As Long = 2097152 ' 2 MB

Dim gonder As Boolean

gonder = True

If posta.Attachments.Count Then boyut1 = posta.Size

If boyut1 > MAX_ITEM_SIZE Then

gonder = (MsgBox("mail boyutu: " & boyut1 & " Byte. iptal edilsinmi?", vbYesNo) = vbNo)

End If

kontrolet = gonder

End Function 

 
Gönderildi : 14/08/2012 13:27

(@sonerkoca)
Gönderiler: 194
Reputable Member
 

tamam düzeltiyorum kodu

 

Private Sub Application_ItemSend(ByVal Item As Object, durum As Boolean)

  If TypeOf Item Is Outlook.MailItem Then

    durum = Not (kontrolet(Item))

  End If

End Sub

Private Function kontrolet(posta As Outlook.MailItem) As Boolean

  Dim boyut As Long

  Dim shift

  Dim toplamboyut

  

  Const MAX_ITEM_SIZE As Long = 2097152 ' Byte

  Dim gonder As Boolean

  gonder = True

  If posta.Attachments.Count Then

    posta.Save

    boyut = posta.size

    shift = 10 ^ 2

    toplamboyut = CInt((boyut / 1048576) * shift) / shift

    If boyut > MAX_ITEM_SIZE Then

     gonder = (MsgBox("Ekli dosyanızın boyutu 2MB." & vbCr & "Toplam mail boyutu: " & toplamboyut & " MB's. " & vbCr & " Yinede göndermek istiyormusunuz?", vbYesNo) = vbYes)

    

    End If

  End If

  kontrolet = gonder

End Function

 

 
Gönderildi : 14/08/2012 16:22

(@NuriOzden)
Gönderiler: 70
Estimable Member
Konu başlatıcı
 

Harika. Tam istediğim buydu işte. Sorunsuz çalışıyor, teşekkürler.

 
Gönderildi : 14/08/2012 16:40

Paylaş: