Klon Gabungan Surat Google Sheets menggunakan Python

Apr 09 2023
Halo Semuanya Daftar isi Saya baru saja menghabiskan minggu ini mengerjakan satu proyek dan saya berhasil menyelesaikannya sekarang. Saya menamai proyek Google Sheets Mail Merge Clone.

Halo semuanya

Daftar isi

  • Perkenalan
  • Langkah
  • Kesimpulan

Saya baru saja menghabiskan minggu ini mengerjakan satu proyek dan saya berhasil menyelesaikannya sekarang. Saya menamai proyek Google Sheets Mail Merge Clone. Proyek ini adalah tiruan dari Mail Merge yang merupakan salah satu ekstensi di google sheets.

Penggabungan surat di google sheets mengambil nilai dari baris spreadsheet atau sumber data lain dan menyisipkannya ke dalam dokumen template . Ini memungkinkan Anda membuat satu dokumen "master" (templat) dari mana Anda dapat menghasilkan banyak dokumen serupa, masing-masing disesuaikan dengan data yang digabungkan. (dari Pengembang Google )

Saya baru saja membuat tiruan dari fungsi ini menggunakan Python. Anda dapat menemukannya di bawah ini,

Artikel ini hanya untuk menunjukkan kepada Anda bagaimana menggunakan proyek ini di mesin Anda. Ikuti semua langkah dengan hati-hati untuk menghindari kesalahan yang tidak perlu.

Mari kita mulai,

LANGKAH 1

Klon proyek ini menggunakan perintah di bawah ini di terminal Anda.

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

Instal modul yang diperlukan dalam requirements.txtfile menggunakan perintah di bawah ini di terminal Anda.

pip install -r requirements.txt

Pastikan Anda membuat .envfile. File tersebut .envdigunakan untuk menyimpan variabel lingkungan dan harus berisi dua hal, satu adalah alamat email masuk dan kata sandi (gunakan Kata Sandi Aplikasi alih-alih menggunakan kata sandi yang sebenarnya) seperti di bawah ini,

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

Kemudian, buat Google sheet dan Google sheet harus berisi Receiverkolom yang berisi alamat email penerima. URL lembar Google harus tersedia untuk umum. Untuk menjadikan URL publik, klik bagikan -> Akses umum -> Siapa saja yang memiliki tautan.

LANGKAH — 5

Kemudian, Anda perlu membuat file HTML atau TEXT yang berisi badan email. Di sini, Anda dapat menggunakan placeholder (misalnya: {first_name}, {last_name}…) untuk menggeneralisasi email menurut penerima. Tapi, lembar Google harus berisi kolom dengan nama yang sama dengan yang dimiliki placeholder. Contoh file teks/HTML harus seperti ini,

<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>

Prosesnya setengah jadi. Sekarang, buka terminal/CMD Anda dan ketik perintah di bawah ini untuk menjalankan skrip,

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

Anda juga dapat menentukan beberapa argumen opsional. Misalnya,

  • untuk menentukan email BCC
  • 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
    

Sampai jumpa di blog lain sampai nanti bye