Clon de combinación de correo de Google Sheets usando Python

Apr 09 2023
Hola a todos Índice Acabo de pasar esta semana haciendo un proyecto y ahora lo completé con éxito. Llamé al proyecto Google Sheets Mail Merge Clone.

Hola a todos

Tabla de contenido

  • Introducción
  • Pasos
  • Conclusión

Acabo de pasar esta semana haciendo un proyecto y lo completé con éxito ahora. Llamé al proyecto Google Sheets Mail Merge Clone. Este proyecto es un clon de Mail Merge, que es una de las extensiones en las hojas de Google.

Una combinación de correspondencia en las hojas de Google toma valores de las filas de una hoja de cálculo u otra fuente de datos y los inserta en un documento de plantilla . Esto le permite crear un solo documento "maestro" (la plantilla) a partir del cual puede generar muchos documentos similares, cada uno personalizado con los datos que se fusionan. (de los desarrolladores de Google )

Acabo de hacer un clon de esta funcionalidad usando Python. Puedes encontrar eso a continuación,

Este artículo es solo para mostrarle cómo usar este proyecto en su máquina. Siga todos los pasos cuidadosamente para evitar errores innecesarios.

Empecemos,

PASO 1

Clone este proyecto usando el siguiente comando en su terminal.

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

Instale los módulos requeridos en el requirements.txtarchivo usando el siguiente comando en su terminal.

pip install -r requirements.txt

Asegúrese de haber creado .envel archivo. El .envarchivo se usa para almacenar variables ambientales y definitivamente debe contener dos cosas, una es una dirección de correo electrónico de inicio de sesión y una contraseña (use las contraseñas de la aplicación en lugar de usar una contraseña real) como se muestra a continuación,

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

Luego, cree una hoja de Google y la hoja de Google debe contener Receiveruna columna que contenga las direcciones de correo electrónico del destinatario. La URL de la hoja de Google debe estar disponible públicamente. Para hacer pública la URL, haga clic en compartir -> Acceso general -> Cualquiera con un enlace.

PASO — 5

Luego, debe crear un archivo HTML o de TEXTO que contenga el cuerpo del correo electrónico. Aquí, puede usar marcadores de posición (p. ej.: {first_name}, {last_name}...) para generalizar los correos electrónicos según el receptor. Pero, la hoja de Google debe contener las columnas con el mismo nombre que tienen los marcadores de posición. El archivo de texto/HTML de ejemplo debería ser así,

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

El proceso está a la mitad. Ahora, abra su terminal/CMD y escriba el siguiente comando para ejecutar el script,

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

También puede especificar algunos argumentos opcionales. Por ejemplo,

  • para especificar correos electrónicos CCO
  • 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
    

Nos vemos en otro blog hasta entonces chao