Python kullanarak Google E-Tablolar Adres Mektup Birleştirme Klonu

Apr 09 2023
Herkese Merhaba İçindekiler Bu haftayı bir proje yaparak geçirdim ve şimdi onu başarıyla tamamladım. Projeye Google E-Tablolar Adres Mektup Birleştirme Klonu adını verdim.

Herkese merhaba

İçindekiler

  • giriiş
  • Adımlar
  • Çözüm

Bu haftayı bir proje yaparak geçirdim ve şimdi onu başarıyla tamamladım. Projeye Google E-Tablolar Adres Mektup Birleştirme Klonu adını verdim. Bu proje, google sayfalarındaki uzantılardan biri olan Adres Mektup Birleştirme'nin bir klonudur.

Google sayfalarındaki adres-mektup birleştirme, bir e-tablonun veya başka bir veri kaynağının satırlarından değerler alır ve bunları bir şablon belgeye ekler . Bu, her biri birleştirilen verilerle özelleştirilmiş birçok benzer belge oluşturabileceğiniz tek bir "ana" belge (şablon) oluşturmanıza olanak tanır. ( Google Developers'tan )

Python kullanarak bu işlevin bir klonunu yaptım. Bunu aşağıda bulabilirsiniz,

Bu makale sadece bu projeyi makinenizde nasıl kullanacağınızı göstermek içindir. Gereksiz hatalardan kaçınmak için tüm adımları dikkatlice izleyin.

Başlayalım,

AŞAMA 1

Terminalinizde aşağıdaki komutu kullanarak bu projeyi klonlayın.

git clone https://github.com/gowthamr56/Google-Mail-Merge-Clone.git

requirements.txtTerminalinizde aşağıdaki komutu kullanarak gerekli modülleri dosyaya kurun .

pip install -r requirements.txt

Dosyayı oluşturduğunuzdan emin olun .env. Dosya .envçevresel değişkenleri depolamak için kullanılır ve kesinlikle iki şey içermelidir, biri aşağıdaki gibi bir oturum açma e-posta adresi ve paroladır (gerçek bir parola kullanmak yerine Uygulama Parolalarını kullanın),

login_email="--YOUR EMAIL ADDRESS--"
login_passwd="--YOUR EMAIL PASSWORD--"

ReceiverArdından, bir Google sayfası oluşturun ve Google sayfası, alıcının e-posta adreslerini içeren sütunu içermelidir . Google sayfası URL'si herkese açık olmalıdır. URL'yi herkese açık hale getirmek için paylaş -> Genel erişim -> Bağlantısı olan herkes'i tıklayın.

ADIM 5

Ardından, e-postanın gövdesini içeren bir HTML veya TEXT dosyası oluşturmanız gerekir. Burada, e-postaları alıcıya göre genellemek için yer tutucular (örneğin: {ad_adı}, {soyadı}…) kullanabilirsiniz. Ancak, Google sayfası, yer tutucularla aynı ada sahip sütunları içermelidir. Örnek metin/HTML dosyası şöyle olmalıdır,

<h3>Hello, Everyone</h3><p>I am a Gowtham. I am a curious Python Programmer, Blogger. I write blogs on <a href='medium.com/@gowtham180502'>medium</a> occasionally. To know more about me, then checkout <a href='gowtham.streamlit.app'>here</a></p>

İşlem yarım tamamlandı. Şimdi, terminalinizi/CMD'nizi açın ve betiği çalıştırmak için aşağıdaki komutu yazın,

python automate_emails.py "GOOGLE SHEET URL" "EMAIL SUBJECT" "HTML/TEXT FILE PATH"

Bazı isteğe bağlı bağımsız değişkenleri de belirtebilirsiniz. Örneğin,

  • BCC e-postalarını belirtmek için
  • python automate_emails.py "GOOGLE SHEET URL" "EMAIL SUBJECT" "HTML/TEXT FILE PATH" -bcc "[email protected]" "[email protected]" ...
    

    python automate_emails.py "GOOGLE SHEET URL" "EMAIL SUBJECT" "HTML/TEXT FILE PATH" -cc "[email protected]" "[email protected]" ...
    

    python automate_emails.py "GOOGLE SHEET URL" "EMAIL SUBJECT" "HTML/TEXT FILE PATH" -a "file1" "file 2" ...  --OR--
    python automate_emails.py "GOOGLE SHEET URL" "EMAIL SUBJECT" "HTML/TEXT FILE PATH" --attach "file1" "file 2" ...
    

    python automate_emails.py --help
    

    usage: automate_emails.py [-h] [-cc CC [CC ...]] [-bcc BCC [BCC ...]] [-a ATTACH [ATTACH ...]] link subject content
    
    This project is a clone of Mail Merge which is one of the extensions in google sheets using Python.
    
    positional arguments:
      link                  expects google sheet public url
      subject               expects subject for the email
      content               expects text/HTML file path that contains message body
    
    options:
      -h, --help            show this help message and exit
      -cc CC [CC ...]       expects email addresses for Carbon Copy (CC)
      -bcc BCC [BCC ...]    expects email addresses for Blind Carbon Copy (BCC)
      -a ATTACH [ATTACH ...], --attach ATTACH [ATTACH ...]
                            expects file locations
    

Başka bir blogda görüşmek üzere, hoşçakalın