EXCEL ile OUTLOOK ÜZERİNDEN TOPLU MAİL GÖNDERME

Bu yazımızda, birçok kullanıcının ihtiyacı olduğunu bildiğim, Excel Eğitimlerinde de nasıl yapabiliriz denilen bir konuyu sizlere aktarıyor olacağım. Vakit kaybetmeden Excel ile Outlook üzerinden toplu mail nasıl gönderebiliriz ona biraz bakalım.

excel toplu mail

Öncelikle Excel ile Outlook üzerinden toplu mail gönderme işini VBA‘nın, yani herkesin bildiği isimle makroların gücüyle yapıyor olacağız. O yüzden az biraz makro bilginiz olursa iyi olur fakat konuyu basit anlatacağım ve birçok kod satırı klişe olduğundan, makro bilginizin olması çok da şart değil diyebilirim. Ayrıca her bir kod satırının da ne anlama geldiğini belirtmiş olacağım. Önce tüm kodları size vereceğim. Sonra da tek tek o kodların açıklamalarını yapacağım. Çok daha geliştirilebilir elbette fakat şu an için basit bir şekilde toplu mail nasıl gönderilir onu aktarıyor olacağım. İlaveten yazının sonunda uygulama örnek dosyasını da ekleyeceğim.

Hadi başlayalım. 👍🏻

 

İlk etapta şöyle bir tablomuz olduğunu varsayıyorum.
Gönder butonuna bastığımızda 2. satırdan başlayarak son satıra kadar tüm mailleri göndermesini sağlayacağız.

excelvba mail listesi

 

Excel ile OUTLOOK Üzerinden Toplu Mail Gönderme – TÜM KODLAR

Sub PEAKUP_Mail_Gonder()
   Dim Outlook As Object, yeni As Object, i As Long
   Set Outlook = CreateObject("Outlook.Application")
   For i = 2 To Cells(Rows.Count, "A").End(3).Row
      Set yeni = Outlook.CreateItem(0)
      With yeni
         .To = Range("B" & i).Value
         .Subject = Range("C" & i).Value
         .Body = Range("D" & i).Value
         .Display
         '.Send
     End With
   Next i
   Set Outlook = Nothing: Set yeni = Nothing: i = Empty
   MsgBox "E-Mailleriniz gönderilmiştir.", vbInformation, Application.UserName
End Sub

Evet.. ihtiyacımız olan kodlar aslında bu kadar. Şimdi her bir kod satırının ne iş yaptığına geçelim. Yukarıda da belirttiğim gibi, aslında yukarıdaki tüm kodları bir kalıp/klişe olarak düşünebilirsiniz. Bu kodları alıp, kime, konu ve açıklama kısımlarını sizin dosyanıza göre uyarlamanız yeterli olacaktır.

 

Sub PEAKUP_Mail_Gonder()

Makromuza/Prosedürümüze PEAKUP_Mail_Gonder ismini veriyoruz.

Dim Outlook As Object, yeni As Object, i As Lon

Kullanacağımız değişkenlerimizi tanımlıyoruz. Değişken tanımlamak zorunlu değil fakat faydalıdır diyebiliriz. Detayları değişkenler ve tanımlama yöntemleri yazımızda aktarıyor olacağım.

Set Outlook = CreateObject("Outlook.Application")

Late Binding

metodu ile Outlook uygulamasını oluşturuyoruz. (İki metot var; Early Binding ve Late Binding)

For i = 2 To Cells(Rows.Count, "A").End(3).Row

2. satırdan A sütunundaki dolu olan son satır numarasına kadar bir For döngüsü oluşturuyoruz. Teker teker tüm satırlardaki adreslere mail göndermesi için kullanıyoruz.

Set yeni = Outlook.CreateItem(0)

Outlook

‘ta Yeni butonuna basar gibi, set ederek yeni bir mail oluşturulmasını sağlıyoruz.

With yeni

Aşağıdaki kodlar Yeni oluşturulan maildeki alanları ifade ettiği için, her seferinde yeni kelimesini yazmamak adına bir kereliğine With yeni diyerek altındaki satırların yeni ile ilgili olduğunu belirtiyoruz ve alttaki kodlarda dikkat ederseniz .To  – .Subject şeklinde devam eder. Yani hepsi Yeni oluşturulan mail ile ilgili satırlar.

.To = Range("B" & i).Value

Kime mail göndereceğimizi belirtiyoruz. Burada B sütunundakilere gideceğini belirttik.

.Subject = Range("C" & i).Value

Konunun ne olacağını belirtiyoruz. Konular C sütunundakiler demiş olduk.

.Body = Range("D" & i).Value

Mail gövdesine de D sütunundakileri yazmasını istiyoruz.

.Display

Maili göndermeden önce ekrana getirip görüntülemenizi sağlar.

.Send

Maili gönderir.

End With

With

deyimini End With ile mutlaka kapatıyoruz.

Next i

Döngüde bir sonraki satıra geçmesini söylüyoruz.

Set Outlook = Nothing: Set yeni = Nothing: i = Empty

Oluşturulan değişkenlerin içlerini boşaltıyoruz. Şart değil fakat hafızada yer kaplamaması için bu şekilde belirttik.

MsgBox "E-Mailleriniz gönderilmiştir.", vbInformation, Application.UserName

MesajBox (MsgBox) ile mail gönderiminin bittiğini belirten bir bilgi penceresi alıyoruz.

End Sub

Makromuzu/Prosedürümüzü sonlandırıyoruz.

 

 

MAİLE EK BİLGİLER EKLEMEK

Dosya Eklemek

İsterseniz mail gönderirken, bilgisayarınızdaki herhangi bir konumda bulunan dosyayı da bu kodlarla maile eklenmesini sağlayabilirsiniz. Aşağıdaki kod satırını, .To – .Subject ifadelerinin altına yazabilirsiniz.

.Attachments.Add "dosya konumu"

Mesaj Gövdesindeki Metni HMTL Görünüme Kavuşturmak

.Body

kullanıp mesaj gövdesine düz bir metin yazmak yerine isterseniz .HtmlBody yazarak html tagları ile mesaj gövdesindeki metni düzenleyebilir, görselleştirebilirsiniz.

Örneğin;

.HTMLBody = "

CC ve BCC EklemekEğer göndereceğiniz maile başka kişileri de CC veya BCC ‘ye koymak isterseniz. Kodlardaki .To satırının altına bu kodları ilave edebilirsiniz..CC = “CC ‘ye eklenecek mail adresi .BCC = “CC ‘ye eklenecek mail adresiMail Önceliği BelirlemekMailinizi yüksek öncelikli olarak göndermek isteyebilirsiniz o zaman da bu kod satırını ilave edebilirsiniz..Importance = 2
Evet.. şimdiye kadar yazdıklarımı inceleyip öğrendiysek artık uygulayabiliriz. 😃
Kodları çalıştırdığımızda aşağıdaki gif resimdeki gibi tüm adreslere hızlı bir şekilde mailler gönderilecektir.
Not: Kodlardaki .Display yerine .Send ‘i aktif ederseniz, maili görüntülemeden direkt olarak gönderir.excelvba outlook ile mail göndermek
Uygulama dosyasını buradan 👉🏻 indirebilirsiniz.
Başka bir örneği de bu adreste bulabilirsiniz.
Diğer yazılarımızda görüşmek üzere, hoşça kalın. 🙋🏻‍♂️
Bu yazımızı çevrenizle paylaşarak birçok kişinin de bilgi sahibi olmasını sağlayabilirsiniz. 👍🏻

Merhabalar,
” & Range(“D” & i).Value & “

Mail Merge: Word Üzerinden Alıcısına Göre Kişiselleşmiş Toplu e-Postalar Gönderme

Yüzlerce müşterinize birkaç dakika içerisinde, adına özel e-posta göndermeniz için, Müşteri Ad-Soyad ve e-posta adresi yazan 2 sütuna sahip olmanız yeterli! Gerisi Word’ün işi!

Mail Merge – Adres mektup birleştirme işlemi, aynı anda birden çok belge oluşturmak için kullanır. Bu belgelerde metin, düzen, biçimlendirme gibi ana şablon birbirinin aynısıdır. Fakat her belgenin belirli bölümleri alıcısına göre  kişiselleştirilmiş hale getirilebilir. “Mail Merge” ile, bir etkinlik için katılımcıların isimlerine özel yaka kartlarını toplu halde hazırlayabilir, muhasebe departmanı olarak, firmalara borç bakiyelerini hatırlatan ya da insan kaynakları departmanı olarak personelinize kalan izin günlerini belirten e-postaları birkaç dakika içerisinde hazırlayıp gönderebilirsiniz.
Bu makalede Word’ün çok güçlü işlevlerinden biri olan bu özelliği kullanarak, aynı anda birden çok kişiselleşmiş e-posta oluşturacağız.

1.Adım:  Posta Listesini Hazırlama

Adres mektup birleştirme işlemindeki en önemli adım, posta listesini hazırlamaktır. Posta listesi, e-postadaki bilgileri doldurmak için kullanılan verileri içerir. Posta listenizi, Excel ya da Word’de tablo biçiminde hazırlayabilirsiniz. Listenizi, mutlaka sütun başlıkları olacak şekilde ve kayıtlar arasında hiç boş satır olmayacak biçimde hazırlamanız gerekmektedir.

2.Adım : Adres Mektup Birleştirmeyi Başlatma

Yeni bir Word belgesi açın. Adres Mektup Birleştirme, e-Posta gönderimi dışında, farklı kişiler adına yaka kartı bastırmak için ya da farklı firmalar adına düzenlenmiş Word belgeleri oluşturmak için de kullanılabilir. Mail gönderiminde kullanmak için,  Mailings  –> Start Mail Merge –> Letters    (Postalar –> Adres Mektup Birleştirme–>Mektuplar) düğmelerine basın.

3.Adım: .Ana Belgeyi Hazırlama 

 Sanki mailinizin gövdesini yazar gibi, e-postanızın herkes tarafından görülecek olan ortak içeriğini yazın. Belgeye İmzanızı, Şirket logosunu ya da resim eklemek isterseniz, Ekle / Resim sekmesinden ekleyebilirsiniz ya da istediğiniz yerden kopyalayıp yapıştırabilirsiniz. e-postanın alıcısına göre kişiselleşecek olan kısımlarını boş bırakın.

4.Adım: Alıcı listesi ile e-Posta Metnini Bağlama

İlk başta hazırladığımız Posta Listesinden (Excel ya da Word Tablosu) veriyi çekmek için Select Recipents –> Use an Exciting List… ( Alıcıları Seç–> Varolan Listeyi Kullan) düğmelerine basın. Excel kitabınız birden fazla sayfadan oluşuyorsa( sayfa1, sayfa2 vb.) kullanıcıların listenin hangi sayfada olduğunu seçmeniz için bir pencere açılır, ilgili sayfaya tıklayın.

5.Adım:  E-posta İletisine Kişiselleştirilmiş İçeriği Ekleme ve Önizleme

Şimdi sıra, alıcıya göre değişecek olan alanlara hangi bilginin geleceğini belirtmek. Sayın kelimesinden sonra bir boşluk bırakıp , İnsert Merge Field (Birleştirme Alanı Ekle )düğmesine tıklayın ve açılan listeden Ad Soyad’I seçin.  Preview Results (Sonuçların Önizlemesi) düğmesine tıklayarak, Excel listesindeki kayıtları nasıl çektiğini ön izleyebilir, ileri geri okları ile kayıtlar arasında gezinebilirsiniz.

6. Adım: Mail Merge İşlemini Tamamlama

Ve Son Adım! İnternete bağlı olduğunuzdan emin olduktan sonra e-posta gönderme işlemini başlatmak için Finish & Merge –> Send e-Mail Message   (Bitir ve Birleştir –> e-Posta Gönder) düğmesine tıklayın.
To, (Kİme,) e-posta adreslerini belirttiğimiz alandır. Excel sayfanızda, e-posta bilgisinin yer aldığı sütun adını seçin.
Subject Line, (Konu Satırı,) gönderilecek olan e-postanın konusunu yazın.
Send Records, (Kayıtlara Gönder) e-postanın kimlere gideceğini seçebileceğiniz alandır.
e-Postanın, Excel listenizdeki tüm alıcılara gönderilmesi için All ( Tümü ) seçeneği,
Preview Results düğmesine basarak önizleme yapıldıysa, o an önizlenen kayda gönderilmesi için Current Record (Güncel Kayıt )seçeneği,
Örneğin 5. satır ile 25. satır arasındakilere gönderilmesi için, From seçeneği seçilir  ve From: 5 To: 25 yazılır.
Karar verdikten sonra Ok düğmesine tıklayın ve işte mailleriniz otomatik olarak gönderilmeye başladı!
Dilerseniz, Outlook hesabınızdan Gönderilmiş Öğeler klasörünüzden gönderilen e-Postaları tek tek görüntüleyebilirsiniz.