Gmail İle Mail Gönderme

Katılım
8 Şubat 2012
Mesajlar
94
Excel Vers. ve Dili
Excel 2003 vba
Sayın Üye;
Aşağıdaki kodlarla Excelden Gmail hesabınızı kullanarak mail atabiliyorsunuz

Kod:
Sub GmailYolla()
Dim adres As String, Subject As String, HTMLBody As String, BCC As String
Dim iMsg As Object, iConf As Object, Flds
Application.DisplayAlerts = False

Set t = Sheets("sayfa1")
kime = t.Range("b1").Value
konu = t.Range("b2").Value
mesaj = t.Range("b3").Value
bilgi = t.Range("b4").Value
gizli = t.Range("b5").Value
dosyaeki = t.Range("b6").Value
sifre = InputBox("Lütfen Şifrenizi Giriniz" & vbLf & "Şayet Email Gönderilise İşlem Sonunda Mesaj Alacaksınız", "Şifre Gir")
If sifre = "" Then
MsgBox "Şifre Girmediğiniz için işlem iptal edildi.   ", vbCritical, "İŞLEM İPTALİ"
Exit Sub
End If
If kime = "" Then
MsgBox "Gönderilecek kişi bulunamadı.   ", vbCritical, "DİKKAT"
Exit Sub
End If
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
Flds.Item(schema & "smtpserverport") = 465
Flds.Item(schema & "smtpauthenticate") = 1
Flds.Item(schema & "sendusername") = "okyanus@gmail.com"
Flds.Item(schema & "sendpassword") = sifre
Flds.Item(schema & "smtpusessl") = 1
Flds.Update
    With iMsg
        .To = kime
        .CC = bilgi
        .BCC = gizli
        .From = "Okyanus<okyanus@gmail.com>"
        .Subject = konu
        .HTMLBody = mesaj
        .AddAttachment dosyaeki
        .Sender = "Okyanus"
        .Organization = "Okyanus"
        .ReplyTo = "okyanus@gmail.com"
    Set .Configuration = iConf
        SendEmailGmail = .send
        syol = vbNullString
        mailadresi = vbNullString
        adres = vbNullString
        Application.DisplayAlerts = True
        MsgBox "E-posta ve dosya gönderildi.   ", vbInformation, "İletim Raporu"
    End With
Set t = Nothing
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
End Sub
Şayet İnputbox ta şifreyi yanlış yazarsanız VBA kod penceresinde hata mesajı veriyor.
Bunu önlemek isterseniz kodların başına On error resume next yazarak hata mesajı almıyorsunuz. Lakin bu durumda şifre hatalı olsada en sonunda
MsgBox la E-posta ve dosya gönderildi. diye mesaj alıyorsunuz.
ŞİMDİ
1) Bu durum mail gönderen için tehlike arz ediyor. Gönderdim dediği mail aslında gitmemiş oluyor.
2) On error resume next komutunu yazmasak bu defa her yanlışta bizi VBA ya atıyor.
Makrolu excel dosyalarınızı arkadaşlarınıza gönderdiğinizde bu kişiler bu sorunu nasıl aşabileceklerini bilmiyor?
3) Hem hata mesajı versin şifre yanlıştır diye hemde, bu hata hariç başka hatalarla karşılaşıldığında formül hataya bakmadan ilerlesin ama en sonunda Mail gönderildi demesin.
Açıkçası "Ne şiş yansın ne kebap yansın" durumu ama mümkün mü ? Böyle bir şey bunu da bilmiyorum
Bilmem anlatabildim mi?
Saygılarımla,
Şimdiden teşekkür ederim..
NOT: Kodlar benim değil başka bir yerden alıntı olup, bazı yerleri değiştirilmiştir.
 
Son düzenleme:

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,356
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
on error resume next' i kullanın. Mesajı da şartlı olarak göstersin.

Aşağıdaki gibi:

Kod:
If err.number = 0 then MsgBox "E-posta ve dosya gönderildi.   ", vbInformation, "İletim Raporu"
 
Katılım
8 Şubat 2012
Mesajlar
94
Excel Vers. ve Dili
Excel 2003 vba
(ÇÖZÜLDÜ)

Sayın Zeki GÜRSOY;
Öncelikle ilgi alakanız için teşekkürlerini sunarım.
Verdiğiniz kodun istediğim gibi işe yaradığını sevinerek belirtmek isterim.

Son haliyle Dosyayı güncelledim. Belki işlerine yarayacak insanlar olabilir.
 

Ekli dosyalar

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Sayın okyanus123452,
3 numaralı mesajdaki dosya gerçekten çalışıyor mu?
Şimdi öğrendiğime göre gmail engelliyor bu türlü mailleri, hepinize teşekkür ederim
Saygılarımla
 
Son düzenleme:

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
merhaba, bu konuya farklı bir parantez açabilir miyim !

Set .Configuration = iConf
SendEmailGmail = .send
syol = vbNullString

Kodun bu kısmı mail GMAIL den göndermek için Peki Hotmail, Mail.ru gibi siteler üzerinden gönderme için Gmail yerine ne yazılmalı ?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Port server
465 smtp.gmail.com
25 smtp.live.com


Port

465
25

server

smtp.gmail.com
smtp.live.com



Port ve server böyle olmalı ancak ttnet hotmail hesabını desteklemiyor onun için smtp.live.com dan mail gitmiyor ancak bazı intermet dağıtılan şirketlerden bu maailler gidiyor.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
halit3 üstadım çok teşekkür ediyorum. Acaba Excelden VBA ile hangi sitelerden mail gönderilebiliyor ? bu konuda bilginiz var mı ! Örneğin Gmail ve Yandexten gidiyor. Yahoo vb. de mümkün oluyor mu ? Ben farklı denemeler yaptım ama olmadı :(
 
Katılım
30 Temmuz 2013
Mesajlar
1
Excel Vers. ve Dili
excel 2010 türkçe
merhaba herkezin eline sağlık. bu yöntem ile atılan mailler gmailde giden kutusuna gitmiyor. bunun bir yöntemi varmı acaba.
 
Katılım
31 Mart 2008
Mesajlar
162
Excel Vers. ve Dili
2003 türkçe
Altın Üyelik Bitiş Tarihi
26-11-2022
(ÇÖZÜLDÜ)

Sayın Zeki GÜRSOY;
Öncelikle ilgi alakanız için teşekkürlerini sunarım.
Verdiğiniz kodun istediğim gibi işe yaradığını sevinerek belirtmek isterim.

Son haliyle Dosyayı güncelledim. Belki işlerine yarayacak insanlar olabilir.
hocam bu dosyayı bana mail atabilirmisiniz... yada örnek kodu.
oornek1@gmail.com
 
Üst