Gmail'de mailleri yapay zekâya nasıl planlatırsın?
Diyelim ki 30 firmaya, her birine ayrı yazılmış bir mail atman gerekiyor ve hepsinin karşı tarafın mesai saatinde, 15'er dakika arayla gitmesini istiyorsun. Elle yaparsan bir öğleden sonran gider: aç, yapıştır, alıcıyı yaz, konuyu yaz, 'Gönderme zamanını planla', tarih, saat… 30 kere. Ben bu işi artık Claude Code'a yaptırıyorum. Claude Code, bilgisayarında terminalde çalışan bir yapay zekâ asistanı. Gmail'e şifremi vermiyorum, Google'ın API'sini de kurmuyorum: Claude, zaten Gmail'e giriş yapmış olduğum Chrome'u 'uzaktan kumanda' kipinde açıp tıklıyor ve yazıyor, tıpkı benim yapacağım gibi. Mailler Gmail'in normal 'Planlandı' klasörüne düşüyor, vakti gelince benim hesabımdan gidiyor. Aşağıda bunu hiç bilmeyen birine anlatır gibi anlatıyorum; yolda benim düştüğüm tuzakları da tek tek yazdım, sen düşme.
Neye ihtiyacın var?
- Bir Mac ya da Windows bilgisayar ve Google Chrome
- Chrome'da giriş yapılmış bir Gmail hesabı
- Claude Code (ücretli bir Claude aboneliği ile geliyor)
- Node.js 22 veya daha yenisi — Claude Code kurarken zaten kuruyorsun
- Gönderilecek maillerin listesi: kime, konu, metin, gün ve saat
Adım adım
1. Önce ne yaptığımızı anla
Üç parça var. Birincisi sen: maillerin listesini onaylıyorsun. İkincisi Claude Code: terminalde çalışan yapay zekâ. Küçük bir betik (script) yazıp çalıştırıyor. Üçüncüsü Chrome: normalde Chrome'u sen fareyle kullanırsın. Chrome'un bir de 'uzaktan hata ayıklama' kipi var. O kipte açılınca başka bir program ona 'şuraya tıkla, şunu yaz, bu kutuda ne yazıyor söyle' diyebiliyor. Buna Chrome DevTools Protocol (kısaca CDP) deniyor. Claude bu kanaldan Gmail'i kullanıyor. Ortada hile yok: Gmail'e giren sensin, sadece fareyi ve klavyeyi bir program kullanıyor.

2. Claude Code'u kur ve boş bir klasör aç
claude.com/claude-code adresindeki kurulum komutunu terminale yapıştır ve Claude hesabınla giriş yap. Sonra masaüstünde 'mail-planlama' gibi boş bir klasör aç, terminalde o klasöre gir ve 'claude' yaz. Bundan sonra her şeyi Claude'a Türkçe, normal cümlelerle söyleyeceksin. Kod yazmayı bilmen gerekmiyor. Ama Claude bir komut çalıştırmak istediğinde senden izin isteyecek: ne yaptığını okuyup onaylaman yeterli.
Claude'a 'onay sormadan her şeyi yap' kipini açtırma. Bu işte senin hesabından mail çıkıyor, her adımı görmek istersin.
3. Mail listesini hazırla ve tek tek oku
Planlanacak her mail için beş bilgi lazım: alıcının adresi, konu, metin, gün ve saat. Bunu bir Excel tablosu olarak verebilirsin ya da Claude'a 'şu 10 firmaya şöyle bir mail yaz' deyip metinleri ona yazdırabilirsin. Claude listeyi 'mails.json' adında bir dosyaya kaydediyor. En önemli kural şu: Gmail'e dokunmadan önce Claude'dan bütün mailleri sana göstermesini iste ve hepsini oku. Ben bu aşamada birkaç kez mantık hatası yakaladım. Örneğin bir mailde, aslında hiç söylemek istemediğim bir cümle vardı. Planlandıktan sonra düzeltmek, şimdi düzeltmekten çok daha zahmetli.
Saatleri alıcının saat dilimine göre düşün ama Gmail'e kendi bilgisayarının saatiyle yaz. Gmail planlamayı bilgisayarının saat dilimine göre yapıyor.
4. Hazır komutu Claude'a yapıştır
Aşağıdaki komut, bu rehberdeki bütün adımları ve benim düştüğüm tuzakların çözümlerini içeriyor. Kopyala, Claude Code'a yapıştır ve en alttaki '[TURKISH / ENGLISH]' kısmına Gmail'in hangi dilde açıldığını yaz. Komut İngilizce ama Claude'la Türkçe konuşmaya devam edebilirsin. İstersen komutu Türkçeye de çevirebilirsin, Claude ikisini de anlıyor. Sonraki adımlarda Claude'un arka planda ne yaptığını anlatıyorum. Bir şey ters giderse neyin bozulduğunu anlaman için bunları bilmen iyi olur.
I want you to schedule emails in my Gmail account by controlling my Chrome browser. Do NOT send anything immediately, only use Gmail's "Schedule send". Setup: 1. Copy my Chrome profile into a new folder called "chromeprof" in this project (only Cookies, Local State, Login Data, Preferences and the Default folder's session files are needed). Don't touch my real profile. 2. Start Chrome with --remote-debugging-port=9411 --user-data-dir=./chromeprof and open mail.google.com. If I'm not signed in, stop and tell me to sign in once by hand. 3. Connect to it with the Chrome DevTools Protocol using Node's built-in WebSocket (Node 22+). No extra packages. The emails are in mails.json (fields: to, subject, body, date "YYYY-MM-DD", time "HH:MM"). Before you touch Gmail, show me a table of every email and wait for my "ok". For each email: - Open a new compose window. Find the dialog through the VISIBLE subject box (old hidden compose windows exist in the page). - Recipient: real mouse click into the "To" field, Input.insertText, then Tab. Check that exactly one recipient chip appears with the exact address. Retry up to 4 times. - Subject: set it with the native value setter and fire an input event. - Body: Gmail uses Trusted Types, so create a policy and set the HTML through it. - Final check inside that dialog only: exactly one recipient, subject identical, body at least 300 characters. If anything fails, discard the draft and report it. Never schedule a broken email. - Open the arrow next to Send -> "Schedule send" -> "Pick date & time". Type the date and the time, leave each box with Tab, NEVER press Enter. Read both values back; only if they match, click the schedule button. At the end, open the "Scheduled" folder and give me a list of every email with its scheduled time. My Gmail interface language is: [TURKISH / ENGLISH].
5. Chrome profilinin kopyası alınıyor
Claude, senin normal Chrome'unu kullanmıyor, onun bir kopyasını çıkarıyor. Bunun iki sebebi var. Birincisi, Chrome'un yeni sürümleri güvenlik gereği varsayılan profilde uzaktan kumandaya izin vermiyor. İkincisi, açık olan Chrome'unla çakışmasın. Kopyanın içinde çerezlerin (Cookies) ve oturum bilgilerin var, yani Gmail'e yeniden şifre girmeden açılıyor. Kopyadan sonra Chrome 9411 numaralı kapıyla (port) açılıyor ve Gmail sekmesi yükleniyor.
Bu kopya klasör senin Gmail oturumunu taşıyor. Kimseyle paylaşma, buluta yükleme, iş bitince sil. Birkaç gün sonra oturum düşerse ('giriş yap' ekranı gelirse) Claude'a profili yeniden kopyalamasını söylemen yeterli.
6. Yeni ileti penceresi açılıyor
Claude 'Oluştur' butonuna basıyor ve açılan pencereyi buluyor. İlk tuzak burada: Gmail sayfasında gözle görmediğin, gizli kalmış eski taslak pencereleri de bulunabiliyor. Program 'ilk bulduğum pencere' derse görünmeyen bir taslağa yazıp duruyor, ekranda hiçbir şey değişmiyor. Çözüm şu: program önce ekranda gerçekten görünen konu kutusunu buluyor, sonra ondan yukarı çıkarak o konu kutusunun ait olduğu pencereyi yakalıyor. Bundan sonraki her işlem sadece o pencerenin içinde yapılıyor.
7. Alıcı yazılıyor, en inatçı kutu bu
Alıcı kutusuna programla 'değer atamak' işe yaramıyor. Kutu dolu görünüyor ama Gmail adresi tanımıyor ve mail alıcısız kalıyor. Gmail, adresin içine yazılmasını ve sonra kutudan çıkılmasını bekliyor, ancak o zaman adresi yuvarlak bir 'baloncuğa' çeviriyor. Claude bu yüzden gerçek bir fare tıklaması yapıyor, adresi klavyeden yazılıyormuş gibi gönderiyor ve Tab'a basıyor. Sonra bakıyor: pencerede tam bir baloncuk var mı, içindeki adres listedekiyle aynı mı? Değilse kutuyu temizleyip dört kereye kadar yeniden deniyor.
8. Konu ve metin yazılıyor
Konu satırı kolay: program kutunun değerini ayarlıyor ve Gmail'e 'burada bir şey değişti' sinyali gönderiyor. Metin kısmında ikinci tuzak var. Gmail güvenlik için 'Trusted Types' adlı bir kural kullanıyor, dışarıdan HTML yapıştırılmasına doğrudan izin vermiyor. Bu kural yüzünden ilk denemede metin kutusu bomboş kaldı. Çözümü, kuralın izin verdiği resmî yoldan bir 'güvenilir metin' tanımlayıp metni onunla yazmak oldu. Kalın yazılar, satır araları ve maddeler de böylece bozulmadan geçiyor.
9. Planlamadan önce dört kontrol
Mail planlanmadan önce program o pencerede dört şeye bakıyor. Tam olarak bir alıcı olmalı ve adres doğru olmalı. Konu listedekiyle birebir aynı olmalı. Metin gerçekten yazılmış olmalı, en az 300 karakter. Tarih ve saat de kutulara doğru girilmiş olmalı. Biri bile tutmazsa taslak siliniyor, o mail atlanıyor ve raporda gösteriliyor. Yani en kötü ihtimalle bir mail hiç gitmiyor, yanlış bir mail asla gitmiyor. Bu kontrol olmadan bu işi yapmam.

10. Tarih ve saat giriliyor, Enter'a basma
Gönder butonunun hemen sağında küçük bir ok var ('Diğer gönderme seçenekleri'). Claude oka basıyor, 'Gönderme zamanını planla' diyor, açılan listede 'Tarih ve saat seç'i seçiyor. Karşısına iki kutu çıkıyor: Tarih ve Zaman. Türkçe Gmail tarihi '24 Eyl 2026', saati '13:30' biçiminde istiyor. İngilizce Gmail 'Sep 24, 2026' ve '1:30 PM' istiyor. Benim en pahalı hatam burada oldu. Saati yazıp Enter'a basınca Gmail pencereyi yazdığım saat kaydedilmeden onayladı ve 7 mail gece 23:55'e planlandı. Doğrusu şu: saati yaz, Tab ile kutudan çık, iki kutunun değerini geri oku, doğruysa mavi 'Gönderme zamanını planla' butonuna tıkla.
Bu hatayı yaşarsan panik yapma: 'Planlandı' klasöründen maili aç, 'Göndermeyi iptal et' de. Mail taslağa döner, doğru saatle yeniden planlanır.

11. 'Planlandı' klasöründen doğrula
Bütün mailler bitince Claude, Gmail'in sol menüsündeki 'Planlandı' klasörünü açıp oradaki her maili saatiyle birlikte listeliyor. Sen de bir kere kendi gözünle bak: sayı tutuyor mu, saatler doğru mu? Buradaki mailler artık Google'ın sunucusunda bekliyor. Bilgisayarını kapatabilirsin, Chrome'u kapatabilirsin, mailler vakti gelince yine gider. Gidenler de normal 'Gönderilmiş' klasörüne düşer, karşı taraf bunu elle yazılmış bir mailden ayırt edemez.
12. Temizlik
İş bitince Claude'a 'kopya Chrome profilini sil, uzaktan kumanda Chrome'unu kapat' de. Mail listesi ve betikler klasörde kalabilir. Bir dahaki sefere 'geçen seferki gibi şu 10 maili planla' demen yetiyor, Claude aynı betiği yeniden kullanıyor. Ben bu yöntemle aynı hafta içinde farklı turlarda 40'tan fazla mail planlattım.
İpuçları
- Maillerin arasına 15-45 dakika koy, hepsini aynı dakikaya yığma. Hem spam filtrelerine daha az takılır, hem de gelen cevaplara yetişebilirsin.
- Aynı hesaptan günde birkaç düzineden fazla soğuk mail atma. Ben günde 10-15'te kaldım.
- İlk turu kendine yap: tek bir maili kendi adresine planlat, gelince aç ve kontrol et.
- Her mail gerçekten kişiye özel olsun. Yapay zekâ planlamayı hızlandırır ama aynı metni 30 kişiye atmak yine spamdir.
- Gmail'in dilini değiştirme. Betik, düğmelerin yazısına göre çalışıyor, dil değişirse Claude'a söylemen gerekir.
- Claude bir adımda takılırsa ekran görüntüsü almasını iste. Neyin yanlış gittiğini çoğu zaman görüntüden hemen anlıyor.
Sık sorulanlar
Gmail şifremi Claude'a veriyor muyum?
Hayır. Claude, Chrome'da zaten açık olan oturumunu kullanıyor. Şifre hiçbir yere yazılmıyor. Ama kopya profil klasörü oturumunu taşıdığı için onu kimseyle paylaşma ve iş bitince sil.
Bilgisayarım kapalıyken mailler gider mi?
Evet. Planlanan mailler Google'ın sunucusunda bekliyor. Planlama bittikten sonra bilgisayarının açık olmasına gerek yok.
Kaç mail planlayabilirim?
Gmail aynı anda en fazla 100 planlanmış maile izin veriyor. Pratikte sınır bu değil, itibarın: aynı hesaptan çok fazla soğuk mail atarsan spam klasörüne düşmeye başlarsın.
Neden Gmail API'sini kullanmıyoruz?
API için Google Cloud'da proje açmak, izin ekranı kurmak ve anahtar üretmek gerekiyor. Ayrıca API'nin 'planla' diye bir özelliği yok, onun için ayrıca bir sunucu çalıştırman gerekir. Tarayıcı yolu hiçbir kurulum istemiyor ve mailler tam olarak senin elle planladığın gibi görünüyor.
Planladıktan sonra bir maili değiştirebilir miyim?
Evet. 'Planlandı' klasöründen maili aç, 'Göndermeyi iptal et' de. Mail taslağa döner, düzeltip yeniden planlarsın. İstersen bunu da Claude'a yaptırabilirsin.
Outlook ya da başka bir mail servisinde de olur mu?
Mantık aynı: tarayıcıda açık olan web arayüzü kullanılıyor. Düğmelerin adı ve yeri farklı olduğu için Claude'un betiği o servise göre uyarlaması gerekiyor. Bu rehberdeki tuzakların çoğu, yani gizli pencereler, alıcı kutusu ve Enter tuşu, orada da karşına çıkar.