Skip to main content

AccessTr.neT


Mail İçeriğindeki Ek Hk.

Mail İçeriğindeki Ek Hk.

Çözüldü #1
Arkadaşlar merhaba uygulamam da mail gönder mevcut mail gönderiyorum fakat kayda ait eki mail içeriğine iliştirerek gönderemiyorum. Konu hakkında yardımıza ihtiyacım var desteğiniz için şimdiden teşekkürler.

Private Sub Command20_Click()

Dim C As Integer
C = MsgBox("emin misin?", vbYesNo + vbQuestion + vbDefaultButton1, "1")
If C = vbNo Then
DoCmd.RunCommand acCmdUndo
End If
         
           Set appOutLook = CreateObject("Outlook.Application")
           Set MailOutLook = appOutLook.CreateItem(olMailItem)
           With MailOutLook

           .To = Me.Email_Address
           .Subject = Me.GEMİ & SEFER
           .HTMLBody = Me.mess_text
           .SendObject = Me.EK
           If Left(Me.Mail_Attachment_Path, 1) <> "<" Then
               .Attachments.Add (Me.Mail_Attachment_Path)
           End If
           '.DeleteAfterSubmit = True   'This would let Outlook send th note without storing it in your sent bin
           .Send
           End With
           DoCmd.Close
           'MsgBox MailOutLook.Body
           Exit Sub
email_error:
           MsgBox "An error was encountered." & vbCrLf & "The error message is: " & err.Description
           Resume Error_out
Error_out:

End Sub
.rar test1.rar (Dosya Boyutu: 3,04 MB | İndirme Sayısı: 6)
Cevapla
#2
Merhaba, outlook programına ek ekleme olayı sadece dizinde bulunan dosya için geçerlidir. Access tablosundaki eki maile ekleyemezsiniz.
Önce ek olarak kaydedilen dosyayı dizine aktarmanız gerekli. Kodun tamamı aşağıdaki gibi olmalı.

'Dim C As Integer'
'C = MsgBox("Gözetim memurlarına iletiyorsun geri dönüş yok emin misin?", vbYesNo + vbQuestion + vbDefaultButton1, "Sharp Eye") '
'If C = vbNo Then'
'DoCmd.RunCommand acCmdUndo'
'End If'
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem

Dim GDosyaAdi  As String
Dim rsKayit As DAO.Recordset2
Dim GEk

Set rsKayit = Me.Recordset
Set GEk = rsKayit.Fields("EK").Value
GDosyaAdi = Environ("Temp") & "\" & GEk.Fields("FileName")

If Len(Dir(GDosyaAdi)) > 0 Then

   Kill GDosyaAdi

End If


Set appOutLook = CreateObject("Outlook.Application")
Set MailOutLook = appOutLook.CreateItem(olMailItem)
   With MailOutLook

           .to = Me.Email_Address
           .Subject = Me.GEMİ & SEFER
           .HTMLBody = Me.mess_text

           GEk.Fields("FileData").SaveToFile Environ("Temp")
           .Attachments.Add GDosyaAdi
           
           '.DeleteAfterSubmit = True   'This would let Outlook send th note without storing it in your sent bin
           .Send
           End With
           DoCmd.Close
           'MsgBox MailOutLook.Body
           Exit Sub
email_error:
           MsgBox "An error was encountered." & vbCrLf & "The error message is: " & err.Description
           Resume Error_out
Error_out:


Kodun stabil çalışması için önce "Microsoft Outlook XX.0 Object Library" referansını eklemeniz gerekli.

Koddaki 


Set rsKayit = Me.Recordset
Set GEk = rsKayit.Fields("EK").Value
GDosyaAdi = Environ("Temp") & "\" & GEk.Fields("FileName")
GEk.Fields("FileData").SaveToFile Environ("Temp")

Kısmı, ek alanındaki dosyayı bilgisayarınızdaki Temp dizinine kaydeder. Maile ek olarak bu kaydedilen dosya kullanılır.
Cevapla
#3
Ozan bey çok teşekkür ederim emeğinize sağlık sorunum sayenizde çözümlenmiştir. +rep +rep
Cevapla
#4
Ozan Bey Outlook değilde [email protected] şeklinde bir özel mail adresi kullanıyorsak. Bu durumda Mail Gönderme ayarlarında ve Accessden aldığımız raporu mail ile  ek dosya olarak göndermek için yukardaki kodlarda ne gibi bir revizyon yapmak gerekir. Teşekkürler.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#5
(29/11/2018, 16:16)Oğuz Türkyılmaz yazdı: Ozan Bey Outlook değilde [email protected] şeklinde bir özel mail adresi kullanıyorsak. Bu durumda Mail Gönderme ayarlarında ve Accessden aldığımız raporu mail ile  ek dosya olarak göndermek için yukardaki kodlarda ne gibi bir revizyon yapmak gerekir. Teşekkürler.

Merhaba, kodlarda hiçbir değişiklik yapamazsınız. Bu kodu kullanacaksanız mail adresinizi outlooka eklemeniz gerekiyor. Bu örnek outlook aracılığı ile mail gönderir. 

Outlook olmadan gönderebilmeniz için SMTP Hesabıyla E-mail Gönderme Uygulaması konusunu incelemeniz gerekiyor. Mail ayarlarını sunucunuzdan öğrenebilirsiniz.
Cevapla
#6
(29/11/2018, 16:21)ozanakkaya yazdı:
(29/11/2018, 16:16)Oğuz Türkyılmaz yazdı: Ozan Bey Outlook değilde [email protected] şeklinde bir özel mail adresi kullanıyorsak. Bu durumda Mail Gönderme ayarlarında ve Accessden aldığımız raporu mail ile  ek dosya olarak göndermek için yukardaki kodlarda ne gibi bir revizyon yapmak gerekir. Teşekkürler.

Merhaba, kodlarda hiçbir değişiklik yapamazsınız. Bu kodu kullanacaksanız mail adresinizi outlooka eklemeniz gerekiyor. Bu örnek outlook aracılığı ile mail gönderir. 

Outlook olmadan gönderebilmeniz için SMTP Hesabıyla E-mail Gönderme Uygulaması konusunu incelemeniz gerekiyor. Mail ayarlarını sunucunuzdan öğrenebilirsiniz.

Teşekkür ederim. Hemen okuyorum.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da