Gmail eklerini Drive'a kaydetmeGeliştirme ve Özelleştirme

Gmail'inizdeki ekleri gönderene, tarihe ya da türe göre Google Drive klasörlerine kaydeden bir Google Apps Script

Genellikle 15 dakika içinde hazırRevizyonlar dahilKalite kontrolü
Paketler
Ödeme korumasıAyrıntılar
  • Paket kapsamındaki revizyonlar ücretsizdir.
  • Teslimattan sonraki 3 gün içinde yanıt vermezseniz iş otomatik olarak onaylanır.

Para, ödeme yaptığınızda bloke edilir ve yalnızca işi onayladığınızda aktarılır.

Gmail'inizdeki ekleri gönderene, tarihe ya da türe göre Google Drive klasörlerine kaydeden bir Google Apps Script

Örnek sonuç

Standart paket için örnek

Merging the monthly sales files of 9 shops into one Excel report

How it is run

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Folder: sales/2026-10, 9 files found
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 rows
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 rows
2026-11-02 09:14:04 WARN  shop-07.csv: 3 rows without a price skipped (lines 88, 412, 913)
2026-11-02 09:14:05 INFO  Done: 10,412 rows -> report-2026-10.xlsx (sheets "Sales" and "Totals")

Settings, not code

The column names of each shop live in settings.ini, so a new shop or a renamed column is a line there:

[columns]
date = Date, Sale date, Day
product = Product, Item, Name
quantity = Qty, Quantity, Pcs
price = Price, Unit price

A part of the code

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Reads one shop's file and gives it the report's column names."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: no column for '{name}' (looked for {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Files: a ZIP archive with merge_sales.py (310 lines), settings.ini, requirements.txt and a README with installing Python, running the script and what each message in the log means. The client runs it on their own computer.

Client: a small chain of 9 stationery shops; each shop sends its sales for the month as a CSV or Excel file, with slightly different column names. Task: one script that reads every file in a folder, brings the columns to one shape, and writes a single Excel report with all sales and a sheet of totals by shop.

Müşteri ve tüm ayrıntılar kurgusaldır.

Bu hizmet hakkında

Tedarikçi faturaları, imzalı belgeler, her hafta gönderilen raporlar: ekler Gmail'de kaldığında sonradan birini bulmak yazışmalar arasında arama yapmak demektir. Bu Google Apps Script, bir Gmail aramasıyla seçtiğiniz postaları, örneğin tedarikçilerinizden gelen PDF'li postaları, tek tek dolaşır ve her eki bir Google Drive klasörüne kaydeder: tek bir klasör ya da gönderene, aya veya dosya türüne göre alt klasörler, tarih ve göndereni içeren adlarla. Ardından postayı kaydedildi olarak etiketler, böylece hiçbir şey iki kez kaydedilmez; Standart paketten itibaren her dosyayı bir log'a yazar. İmzalardaki küçük resimler hariç tutulabilir. Dosyalar Drive'ınızda yer kaplar. Bir çalıştırma yaklaşık altı dakikayla sınırlıdır, bu yüzden büyük birikimler parça parça işlenir. Kurulumu ve çalıştırmayı Google hesabınızda siz yaparsınız.

Neler dahil

  • Neler alırsınızApps Script kodunu ve onu hesabınıza nasıl ekleyeceğinizi, erişime nasıl izin vereceğinizi ve nasıl çalıştıracağınızı gösteren bir README dosyasını içeren bir ZIP arşivi; kod sipariş sayfasında da gösterilir.
  • Gmail aramasıyla postalarör. from:@supplier.example has:attachment
  • Klasörler sizin istediğiniz gibiTek klasör ya da gönderene, aya veya türe göre
  • Anlaşılır dosya adlarıAda tarih ve gönderen eklenir
  • Hiçbir şey iki kez olmazKaydedilen posta etiket alır ve bir dahaki sefere atlanır
  • Okunabilir kodYorumlarla; sonradan klasör eklemek kolay

Nasıl çalışır

  1. 1
    GörevHangi postaların alınacağını ve klasörlerin nasıl düzenleneceğini söylersiniz
  2. 2
    KodBetiği ve kurulum kılavuzunu yazarız
  3. 3
    DeneyinÖnce dar bir aramayla çalıştırır ve klasörü kontrol edersiniz
  4. 4
    DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz

Sizden neler gerekiyor

Hangi postaların alınacağı: gönderenler ya da alan adları, konudaki kelimeler, dosya türleri, bir tarih aralığı ya da zaten kullandığınız bir Gmail araması. Drive klasörlerinin nasıl düzenlenip adlandırılacağı, dosyaların nasıl adlandırılacağı ve nelerin atlanacağı (imza resimleri, belirli bir boyutun altındaki dosyalar). Şu an ekli yaklaşık kaç e-posta olduğu ve yenilerinin ne sıklıkla geldiği, ücretsiz Gmail mi yoksa Google Workspace mi kullandığınız.

Size soracaklarımız:

  • Hangi eklere ihtiyacınız var?
  • Klasörler nasıl düzenlenmeli?
  • Dosyalar nasıl adlandırılmalı?
  • Eski postalar da mı, ne sıklıkla?

Paketleri karşılaştırın

PaketlerTemelTek klasör$16StandartAyarlı klasörler$33PremiumEk aracı$67
Teslim süresi1 gün2 gün3 gün
Revizyonlar123
Koden fazla 150 satıren fazla 400 satıren fazla 1.000 satır
Kod dosyası1en fazla 3en fazla 8
Ayar dosyasıHayırEvetEvet
Anlaşılır hata mesajları ve logHayırEvetEvet
Çalıştırma seçenekleri ve zamanlanmış çalıştırma kılavuzuHayırHayırEvet
Kurulum ve çalıştırma kılavuzu (README)EvetEvetEvet
DilGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
Sipariş ver TemelSipariş ver StandartSipariş ver Premium

Ödeme koruması

Sipariş verirken ödersiniz, ancak para yalnızca onaylanan iş için aktarılır.

  • Sabit fiyatPaket fiyatı, ödeme yaptıktan sonra değişmez.
  • Para bloke edilirÖdeme yaptığınızda tutar yalnızca bloke edilir. İşi onayladığınızda hizmete aktarılır.
  • Teslimattan önce kontrolHer sonuç size ulaşmadan önce kalite kontrolünden geçer ve onaylamadan önce sipariş sayfasında görürsünüz.
  • Ücretsiz revizyonlarBrifiniz kapsamında, paketin izin verdiği sayıda değişiklik isteyin.
  • 3 gün sonra onayTeslimattan sonraki 3 gün içinde işi onaylamaz veya değişiklik istemezseniz iş otomatik olarak onaylanır. Teslimattan sonra sipariş sohbetine yazarsanız sipariş bekletilir; yanıt verdikten sonra 3 günlük süreyi yeniden başlatabiliriz ve bunu sohbette bildiririz.
  • Yeniden yapım veya tam iadeSonuç brifinize uymuyorsa ve revizyonlar sorunu çözmediyse ya da iş teslim süresinin iki katından uzun sürerse sipariş sohbetine yazın: işi yeniden yaparız veya ödemenin tamamını iade ederiz.
Nasıl çalışır →

Sorular ve yanıtlar

Eski postalardaki ekleri kaydedebilir mi?

Evet, ne kadar eski olursa olsun aramayla eşleşen her postayı. Her çalıştırma yaklaşık altı dakikayla sınırlı olduğundan büyük bir birikim birkaç çalıştırmaya bölünerek işlenir.

Ekleri Gmail'den kaldıracak mı?

Hayır. Posta ekleriyle olduğu gibi kalır; betik yalnızca Drive'a kopyalar kaydeder ve bir etiket ekler.

Ortak bir drive'a kaydedebilir mi?

Evet, Google Workspace'teki ortak drive'lar dahil dosya ekleyebildiğiniz her klasöre.

Postalarıma ya da Drive'ıma erişiminiz olacak mı?

Hayır. Betiği kendi hesabınıza siz ekler ve erişime kendiniz izin verirsiniz. Postalarınızı ya da dosyalarınızı asla görmeyiz.

Yanıtınızı bulamadınız mı?

Paketler