Python을 사용하는 Google 스프레드시트 메일 병합 복제

Apr 09 2023
안녕하세요 여러분 목차 이번 주에 프로젝트 하나를 하다가 이제서야 성공적으로 완성했습니다. 프로젝트 이름을 Google Sheets Mail Merge Clone으로 지정했습니다.

안녕하세요 여러분

목차

  • 소개
  • 단계
  • 결론

이번 주에 프로젝트 하나를 하면서 보냈고 이제 성공적으로 완료했습니다. 프로젝트 이름을 Google Sheets Mail Merge Clone으로 지정했습니다. 이 프로젝트는 Google 시트의 확장 기능 중 하나인 편지 병합의 복제본입니다.

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수신자의 이메일 주소가 포함된 열이 있어야 합니다. Google 시트 URL은 공개적으로 사용할 수 있어야 합니다. 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
    

그때까지 다른 블로그에서 만나요 안녕