Cómo automatizar correos electrónicos de Outlook con Python
Cuando se habla de Python, es difícil ignorar cuán dispersas están las características y lo que puede lograr con solo unas pocas piezas de código. Enviar y recibir correos electrónicos es un tema candente en estos días, y la automatización de correo electrónico de Python en Microsoft Outlook facilita las cosas.
¿Por qué pasar interminables minutos redactando correos electrónicos en un cliente de correo electrónico cuando puede dejar que Python lo haga una vez? Si está interesado, debe seguir leyendo para saber cómo puede enviar correos electrónicos automatizados desde Python usando Microsoft Outlook.
Cumplimiento de varios requisitos previos.
Dadas las dos plataformas principales a las que se hace referencia en esta guía, estos son los requisitos previos para esta tarea simple pero útil. Para comenzar, descargue e instale lo siguiente:
- Microsoft Outlook: Debe tener MS Outlook instalado y ejecutándose en su sistema. Puede usar cualquier dominio de correo electrónico con Outlook porque no hay restricciones en su configuración de correo electrónico.
- win32com.cliente: Esta biblioteca de terceros es esencial para conectarse a sus aplicaciones de Microsoft. Dado que Microsoft Outlook es una de esas aplicaciones, necesita esta biblioteca dentro de Python para conectarse al servidor de intercambio de Outlook.
Microsoft Outlook es uno de los clientes de correo electrónico más antiguos y más utilizados y figura en la lista Los proveedores de correo electrónico más populares después de Gmail y Yahoo. En esta guía, la dirección de Gmail se configura dentro de Outlook.
win32com.client es una parte integral de este código y necesita una biblioteca completamente funcional para comunicarse entre Microsoft Outlook y Python.
Compruebe la versión de Win32com.client
Antes de instalar, puede comprobar si win32com ya instalado en su máquina. Algunas versiones de IDE ofrecen este paquete de forma predeterminada. Puede verificar si existe con el siguiente comando.
python -m pip show pywin32
si te equivocas ‘pip’ no se reconoce como un comando interno o externo puede hacer el comando anterior mientras se ejecuta Instalar pip en Windows, Mac y Linuxpara garantizar que las instalaciones de su biblioteca sean perfectas.
Si obtiene el número de versión después de ejecutar el comando anterior, no necesita instalarlo nuevamente.
Posteriormente, si recibe el siguiente mensaje de error, deberá instalar win32com biblioteca en su sistema:
'pywin32' is not recognized as an internal or external command, operable program, or batch file.
Instalación de la biblioteca Win32com
Abrir e ingresar la solicitud pepita comando de compilación de biblioteca desde una ventana de terminal.
python -m pip install pywin32
Siga las instrucciones en pantalla para completar el proceso. puedes usar –mostrar comando posterior a la instalación para comprobar si win32com instalado correctamente en su sistema.
python -m pip show pywin32
Envío de correos electrónicos desde Python usando Outlook
Con los requisitos previos establecidos, es hora de comenzar a escribir el código. Para comenzar, debe importar win32com.cliente biblioteca usando importar declaración.
import win32com.client
Ahora puede escribir código para conectar Python y Outlook, el programa de correo electrónico de Microsoft.
ol = win32com.client.Dispatch('Outlook.Application')
Dónde:
- ser: Nueva variable para almacenar la referencia de conexión.
- win32com.cliente: biblioteca de Windows para conectarse entre Python y Outlook.
- Enviar: Función de creación de contactos.
- Outlook.Aplicación: Esto se puede reemplazar con cualquier nombre de aplicación de Microsoft según sea necesario.
A continuación, debe definir las dimensiones del nuevo mensaje de correo electrónico para que Python comprenda dónde debe actualizarse el contenido.
olmailitem = 0x0
Dónde:
- no tengo que hacerlo: Nueva variable para almacenar dimensiones.
- 0x0: Tamaños de nuevos mensajes de correo electrónico en la memoria de Python.
Las funciones de Python abren un nuevo elemento de correo electrónico tan pronto como establecen las dimensiones básicas del correo electrónico.
newmail = ol.CreateItem(olmailitem)
Dónde:
- nuevo correo: Nueva variable para contener la nueva referencia de correo electrónico.
- ser: una referencia a una conexión previamente establecida entre Python y Outlook.
- Crear artículo (olmailitem): Comando para crear un nuevo proyecto de correo electrónico.
Dado que cada correo electrónico está incompleto sin una línea de asunto, puede definirlo en el código para que Python lo agregue automáticamente antes de enviar el correo electrónico al destinatario. Esto será visible para el comprador, así que tenga cuidado con la forma en que describe el trabajo y el contenido.
newmail.Subject = 'Testing Mail'
Dónde:
- nuevo correo: Una variable para contener la referencia del nuevo elemento de correo.
- Tema: Esto puede variar dependiendo de cómo quieras que se vea tu correo electrónico.
Puede agregar los destinatarios deseados dentro de A quien y CC palabras clave son las siguientes:
newmail.To = 'xyz@gmail.com'
newmail.CC = 'xyz@gmail.com'
Dónde:
- A quien: dirección de correo electrónico del destinatario principal.
- CC: destinatarios de correo electrónico duplicados.
Puede enviar correos electrónicos a múltiples destinatarios con Python. añadir punto y coma (;) Separador entre ID de correo electrónico en la columna Para/CC.
Finalmente, una vez que haya definido el asunto y los destinatarios, puede agregar el cuerpo del correo electrónico antes de enviarlo a los destinatarios dentro de un nuevo elemento de correo. A quien y CC columnas
newmail.Body= 'Hello, this is a test email to showcase how to send emails from Python and Outlook.'
Puede usar los siguientes comandos para agregar archivos adjuntos a su correo electrónico:
attach = 'C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
newmail.Attachments.Add(attach)
Una vez que el correo electrónico está listo para ser enviado, hay dos opciones que puede usar. Si desea obtener una vista previa de su correo electrónico antes de enviarlo a los destinatarios, puede usarlo monitor() comando de la siguiente manera:
newmail.Display()
puedes usar Enviar() comando si desea enviar el correo electrónico sin obtener una vista previa.
newmail.Send()
Tenga en cuenta que si lo usa, no podrá ver la vista previa del correo electrónico Enviar ordenar directamente. Use este comando sabiamente si cambia regularmente el cuerpo de un correo electrónico. Puede usar el código de Python para importar una biblioteca, crear una conexión y enviar correos electrónicos rápidamente, todo a la vez.
Aquí está el código completo:
import win32com.client
ol=win32com.client.Dispatch("outlook.application")
olmailitem=0x0
newmail=ol.CreateItem(olmailitem)
newmail.Subject= 'Testing Mail'
newmail.To='xyz@gmail.com'
newmail.CC='xyz@gmail.com'
newmail.Body= 'Hello, this is a test email to showcase how to send emails from Python and Outlook.'
# newmail.Attachments.Add(attach)
newmail.Send()
Beneficios de la automatización de correo electrónico de Python
La automatización de correo electrónico de Python le permite enviar correos electrónicos directamente desde su interfaz de Python sin abrir MS Outlook. Si eres un ávido usuario de Python y no te importa abrir un cliente de correo electrónico una y otra vez para escribir correos electrónicos, puedes dejar que el lenguaje de programación lo haga por ti.
¿Por qué dedicar horas a tareas repetitivas cuando puede enviar correos electrónicos automatizados con solo unas pocas líneas de código usando Python?