Skip to main content

AccessTr.neT


Excel Outlook İle Dosya Ekli Toplu Mail Gönderme

Oğuz Türkyılmaz
Oğuz Türkyılmaz
45
3612

Excel Outlook İle Dosya Ekli Toplu Mail Gönderme

#13
Rica ederim.send yazan yerdeki baştaki tırnağı kaldırın abey.

(10/04/2021, 01:48)Oğuz Türkyılmaz yazdı: For i = basla To bitis
Ayrıca val(basla) ve val(bitis) gibi yapmayı unutmayın inputboxtan alındığı için string olarak algılıyor galiba.
Cevapla
#14
Merhaba,

Akşam teknik olanaksızlıktan cevap veremedim, @feraz hocam sağolsun yetişmiş gene hızır gibi..

Birinci olarak basla to bitis kısmı haric kalanı bende sorunsuz çalışıyordu. excel,word, pdf, exe ne seçersen ekliyordu.
İkinci olarak aynı anda çok sayıda mail gönderirseniz mail adresiniz spam olarak algılanacak ve mail adresiniz bloklanacak. Tecrübe ile sabit.

5-10 saniye aralıklarla manuel göndermenizde fayda var.

Sağlıklı günler dilerim.
Cevapla
#15
Sn.Kanakan
Outlook da bir defada en fazla 100 adrese mail gönderimine izin verdiği microsoft destek hattında yazıyor bende buna güvenerek bir defada 100 olmasa da garanti olsun diye 50 50 göndermeyi düşünüyordum toplam 3000 küsur adrese yılda 1 defa gönderilecek bir pdf katalog var belki her ay bir kerede o ay ile ilgili kampanya maili atılabilir. Velhasıl kelam 5-10 saniyede bir mail atmam demek 3000 mail için yaklaşık 10 saat uğraşmak demek. 5 er 5 er göndersem 2 saat de biter ama bu en iyi senaryo. Hay allah tek tek uğraşmak ölüm.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#16
(10/04/2021, 09:45)Oğuz Türkyılmaz yazdı: Sn.Kanakan
Outlook da bir defada en fazla 100 adrese mail gönderimine izin verdiği microsoft destek hattında yazıyor bende buna güvenerek bir defada 100 olmasa da garanti olsun diye 50 50 göndermeyi düşünüyordum toplam  3000 küsur adrese yılda 1 defa gönderilecek bir pdf katalog var belki her ay bir kerede o ay ile ilgili kampanya maili atılabilir. Velhasıl kelam 5-10 saniyede bir mail atmam demek 3000 mail için yaklaşık 10 saat uğraşmak demek. 5 er 5 er göndersem 2 saat de biter ama bu en iyi senaryo. Hay allah tek tek uğraşmak ölüm.

Üstad bunla iligi net bir kriter yok, Aşağıdaki makaleyi okumanızı öneririm.

https://www.mailgraf.com/spama-dusmeden-...erilir-mi/
Cevapla
#17
ilginiz ve yönlendirmeniz için çok teşekkür ederim
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#18
Kodu alttaki gibi deneyin.50 olarak ayarladım ve gşnderdikten sonra 20 saniye beklemesi gerek.
Mod kımını heralde tam ayarlayamadım.Dir (ThisWorkbook.Path) koduda ekledim dosya nerdeyse orda aransın eklenti diye yolunu değiştirebilirsiniz masaüstü gibi.

Private Sub CommandButton2_Click()

    Dim objOutlook As Object
    Dim objMail As Object
    Dim maill As String
    Dim i As Long, ek
    Dim syfAna As Worksheet
    Dim basla, bitis
 
    Set syfAna = ThisWorkbook.Sheets("Ana_Sayfa")
Dir (ThisWorkbook.Path)
    ek = Application.GetOpenFilename("Files (*.**)," & "*.**", 1, "Select File", "Open", False)
    If ek = vbNullString Then Exit Sub
    If ek = False Then Exit Sub

    basla = InputBox("Baþlangýç ID numarasýný Giriniz.")
    If basla = 1 Then Exit Sub
    If basla = "" Then Exit Sub
    bitis = InputBox("Bitiþ ID numarasýný Giriniz.")
    If bitis = "" Then Exit Sub
   
    If IsNumeric(basla) = False Then Exit Sub
    If IsNumeric(bitis) = False Then Exit Sub
    If basla > bitis Then Exit Sub
    If WorksheetFunction.CountA(syfAna.Range("D2Lol" & Rows.Count)) = 0 Then GoTo son
    For i = basla To bitis
var2:
        If Trim(syfAna.Range("G" & i).Value) <> "" Then maill = maill & syfAna.Range("G" & i).Value & ";"
        If i Mod 50 = 0 Then Exit For
    Next
        i = i + 1
        maill = Left(maill, Len(maill) - 1)

        Set objOutlook = CreateObject("Outlook.Application")
        Set objMail = objOutlook.CreateItem(0)
        With objMail
            .To = maill
            .Subject = "2021 WINPERAX Teknik Ürün Kataloðu"
            .body = "Sayýn yetkili, Ekte 2021 WINPERAX Teknik Ürün Kataloðu bulunmaktadýr. Ýyi Çalýþmalar Dileriz.Saygýlarýmýzla,"
            .Attachments.Add ek
            .Importance = 2
            .Save
            .Display
            .Send ' gönder
            Application.Wait (Now + TimeValue("0:00:20"))
        End With
        maill = vbNullString
        If i >= bitis Then GoTo var
        GoTo var2
var:
        MsgBox "Gönderildi..", vbInformation, "Bilgi"

    Set objMail = Nothing
    Set objOutlook = Nothing
    Set syfAna = Nothing
    Exit Sub
son:
    MsgBox "Hata oldu", vbCritical, "Hata"
    GoTo var
End Sub
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task