Sayın mengene2,
Öncelikle,hatanın ne olduğuna dair bir belirti göremedim resimlerinizde.çünkü,eklediğiniz resimler (referanshata isimli olanı da dahil) sadece referans tablosunu göstermektedir.bu sebeple,hali hazırda alınan hatanın ne olduğuna dair bir ifade söz konusu olmadığından bununla ilgili bir yorum yapmak doğru ve geçerli olmaz.
Fakat,Access üzerinden gmail kullanılarak mail gönderme konusu ile ilgili sorununuza yönelik olarak bazı açıklamalarda bulunmak isterim,belki bu anlamda size bilgi katkısı sağlayabilir düşüncesi ile.
1)
İlk yapmanız gereken;
SMTP sunucusuna mail gönderimleri konusunda Cdosys.dll dosyasına ihtiyacınız var. Cdosys.dll dosyası,6.0 sürümü olarak Microsoft CDO for Windows 2000 Library adı ile referanslarda yer alır.kısa adı CDO olan Collaborative Data Objects ifadesi Birlikte çalışma veri nesneleri anlamına gelmektedir.
32bit işletim sistemlerinde C:\WINDOWS\System32\ içerisinde,
64bit işletim sistemlerinde de C:\WINDOWS\SysWOW64\ içerisinde yer alır.
eklediğiniz resimler içerisindeki referans1 isimli örnek resimde de Microsoft CDO for Windows 2000 Library olarak görülmektedir.
2)
İkinci yapmanız gereken;
Gmail hesabınıza
Access üzerinden mail gönderme işlemi söz konusu olduğunda,Google Gmail;içeriğinde “dışarıdan bir oturum açma girişimi olduğunu belirten” bir mesaj gönderir size.bu işlemi açan kişi siz değilseniz şifrenizi değiştirmeniz önerilir ya da siz iseniz,standart güvenlik korumasını devre dışı bırakacak şekilde tekrar ayarlama yapmanıza dair her iki durum için de ilgili linklere yönlendirmelerde bulunur.
Dışarıdan oturum açma işlemini siz bu uygulamanız neticesinde gerçekleştireceğiniz için,dolayısı ile,bu gmail mesajında yer alan güvenlik koruması ayarlarını devre dışı bırakmanızı sağlayacak olan link’i seçerek ilgili sayfaya geçmelisiniz.
mail adresinize giriniz ve aşağıdaki bağlantıdan gerekli ayarı yapınız.
https://www.google.com/settings/security/lesssecureapps
yukarıdaki yönlendirme sayfasında disable / enable seçenekleri vardır.buradan da,etkinleştir'i işaretleyip onaylamak sureti ile işlemi tamamlayıp hesaptan çıkmalısınız.
3)
Son işlem olarak da;
Mail gönderme işlemi için,önce yukarıda bahsi geçen referansı ekledikten sonra, aşağıdaki kodlama örneğini,uygulamanızdaki formun kullanılacak butonun tıklandığında olay yordamına ekleyiniz.
Kod:
Sub sendGmail()
Dim mygmail As CDO.Message
Set mygmail = new CDO.Message
mygmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
mygmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
mygmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
mygmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
mygmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
mygmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "gonderen_mail_adi@gmail.com"
mygmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "sifre"
mygmail.Configuration.Fields.Update
with mygmail
.Subject="konu başlığı"
.From="gonderen_mail_adi@gmail.com"
.To="alici_mail_adi@gmail.com" 'eğer birkaç kişiye olacaksa o zaman aralara noktalı virgül elyerek mail adreslerini yazınız
.TextBody="mesaj içeriği"
.AddAttachment "eklenecek_dosyanin_adi_ve_yolu" ' C:\dosya_adi.pdf gibi
End With
On Error Resume Next
mygmail.Send
Msgbox("Mail gönderildi")
Set mygmail=Nothing
End Sub
Sayın mengene2,
EK’te;mail gönderme talebinize yönelik olarak,yukarıdaki kodlamanın eklenerek hazırlandığı örnek uygulama mevcuttur.inceleyebilirsiniz.aşağıdaki diğer konunuza da ilgili uygulama dahil edilmiştir.fakat,sizin kodlama içerisine dahil etmek istedikleriniz çıkarılmıştır.siz talebinize göre,daha sonrasında diğer eklemek istediğiniz kodları dahil edebilirsiniz.mesaj içeriği olarak sorgu kullanma isteğinize yönelik olarak kast edilmektedir.
Mail gönderme hakkında
Yukarıdaki tüm işlemleri aynı sırayla gerçekleştirdiğiniz takdirde,olumlu sonuç alacaksınızdır.denemeler neticesinde,bu olumlu sonuçlar elde edilmiştir.bilgilerinize.
İyi çalışmalar,
Saygılar.