Слияние клонов Google Таблиц с использованием Python

Apr 09 2023
Всем привет Оглавление Я только что потратил эту неделю на один проект и успешно завершил его. Я назвал проект Google Sheets Mail Merge Clone.

Всем привет

Оглавление

  • Введение
  • Шаги
  • Заключение

Я только что провел эту неделю, выполняя один проект, и я успешно завершил его сейчас. Я назвал проект Google Sheets Mail Merge Clone. Этот проект является клоном Mail Merge, который является одним из расширений в Google Sheets.

Слияние почты в листах Google берет значения из строк электронной таблицы или другого источника данных и вставляет их в документ-шаблон . Это позволяет вам создать один «основной» документ (шаблон), из которого вы можете создать множество подобных документов, каждый из которых настроен с учетом объединяемых данных. (от разработчиков Google )

Я только что сделал клон этой функциональности, используя Python. Вы можете найти это ниже,

Эта статья предназначена только для того, чтобы показать вам, как использовать этот проект на вашем компьютере. Внимательно выполняйте все шаги, чтобы избежать ненужных ошибок.

Давайте начнем,

ШАГ 1

Клонируйте этот проект, используя приведенную ниже команду в своем терминале.

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

Установите необходимые модули в requirements.txtфайл, используя приведенную ниже команду в своем терминале.

pip install -r requirements.txt

Убедитесь, что вы создали .envфайл . Файл .envиспользуется для хранения переменных окружения, и он обязательно должен содержать две вещи: адрес электронной почты для входа в систему и пароль (используйте пароли приложений вместо фактического пароля), как показано ниже.

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

Затем создайте лист Google, и лист Google должен содержать Receiverстолбец, содержащий адреса электронной почты получателя. URL-адрес листа Google должен быть общедоступным. Чтобы сделать URL-адрес общедоступным, нажмите «Поделиться» -> «Общий доступ» -> «Все, у кого есть ссылка».

ШАГ — 5

Затем вам нужно создать файл HTML или TEXT, содержащий тело письма. Здесь вы можете использовать заполнители (например: {first_name}, {last_name}…), чтобы обобщить электронные письма в соответствии с получателем. Но лист Google должен содержать столбцы с теми же именами, что и заполнители. Пример текстового/HTML-файла должен быть таким:

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

Процесс сделан наполовину. Теперь откройте свой терминал/CMD и введите приведенную ниже команду, чтобы запустить скрипт:

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

Вы также можете указать некоторые необязательные аргументы. Например,

  • указать адрес электронной почты скрытой копии
  • 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
    

Увидимся в другом блоге, а пока пока