Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

Cuando se habla de Python, es difícil pasar por alto hasta qué punto se extienden las funcionalidades y lo que se puede lograr con solo unas pocas piezas de código. Hoy en día, enviar y recibir correos electrónicos es lo más relevante, y la automatización de correo electrónico de Python en Microsoft Outlook hace que todo sea más práctico.

¿Por qué pasar interminables momentos compilando correos electrónicos en un cliente de correo electrónico cuando puede dejar que Python lo haga por usted en una sola instancia? Si está intrigado, debe seguir leyendo para ver cómo puede enviar correos electrónicos automatizados desde Python usando Microsoft Outlook.

Cumpliendo algunos requisitos previos

Teniendo en cuenta las dos plataformas principales a las que se hace referencia en esta guía, estos son los requisitos previos para habilitar esta tarea simple pero útil. Para comenzar, descargue e instale lo siguiente:

instagram viewer
  • Microsoft Outlook: Debe tener la aplicación MS Outlook instalada y ejecutándose en su sistema. Puede usar cualquier dominio de correo electrónico con Outlook, ya que no tiene restricciones con respecto a las configuraciones 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, que figura en la lista de proveedores de correo electrónico más populares después de Gmail y Yahoo. En esta guía, se configura una dirección de Gmail dentro de Outlook.

win32com.client es un aspecto integral de este código y necesita una biblioteca totalmente funcional para establecer una conexión entre Microsoft Outlook y Python.

Antes de instalar, puede comprobar si win32com ya está instalado en su máquina. Algunas versiones de IDE ofrecen este paquete de forma predeterminada. Puede verificar si está disponible con el siguiente comando.

pitón -m pip espectáculo pywin32

Si obtiene un error 'pip' no se reconoce como un comando interno o externo mientras ejecuta el comando anterior, puede instalar pip en Windows, Mac y Linux, para garantizar que las instalaciones de su biblioteca sean perfectas.

Después de ejecutar el comando anterior, si recibe un número de versión, no necesita instalarlo nuevamente.

Posteriormente, si recibe el siguiente mensaje de error, debe instalar el win32com biblioteca en su sistema:

'pywin32'esno Reconocido como Un interno o comando externo, programa operable, o archivo por lotes.

Abra el indicador y escriba el pepita comando para instalar la biblioteca desde la ventana del terminal.

pitón -m pip instalar pywin32

Siga las instrucciones en pantalla para completar el proceso. Puedes usar el --espectáculo después de la instalación del comando para verificar si win32com se instaló correctamente en su sistema.

pitón -m pip espectáculo pywin32

Envío de correos electrónicos desde Python usando Outlook

Dado que se han cumplido los requisitos previos, es hora de comenzar a escribir el código. Para empezar, necesita importar el win32com.cliente biblioteca usando el importar declaración.

importar win32com.cliente

Ahora puede escribir código para conectar Python y la aplicación de correo electrónico de Microsoft, Outlook.

ol = win32com.cliente. Despacho('Panorama. Solicitud')

Dónde:

  • viejo: Nueva variable para almacenar la referencia de conexión.
  • win32com.cliente: biblioteca de Windows para establecer una conexión entre Python y Outlook.
  • Despacho: Función para crear la conexión.
  • Panorama. Solicitud: Esto se puede reemplazar con cualquier nombre de aplicación de Microsoft, según sea necesario.

A continuación, es necesario definir las dimensiones del nuevo mensaje de correo electrónico para que Python comprenda dónde debe actualizarse el contenido.

# tamaño del nuevo correo electrónico
olmailitem = 0x0

Dónde:

  • olmailitem: Nueva variable para almacenar las dimensiones.
  • 0x0: Dimensiones del nuevo mensaje de correo electrónico en la memoria de Python.

Las funciones de Python abren un nuevo elemento de correo electrónico tan pronto como define las dimensiones del cuerpo del correo electrónico.

correo nuevo = ol. CreateItem (olmailitem)

Dónde:

  • nuevo correo: Nueva variable para almacenar la nueva referencia de correo electrónico.
  • viejo: Referencia de la conexión creada previamente entre Python y Outlook.
  • CreateItem (olmailitem): comando para crear un nuevo borrador de correo electrónico.

Dado que cada correo electrónico está incompleto sin una línea de asunto, puede definirlo dentro del código para que Python lo agregue automáticamente antes de enviar el correo electrónico al destinatario. Esto será visible para el destinatario, así que tenga cuidado al definir el caso y el contenido.

nuevo correo. Asunto = 'Correo de prueba'

Dónde:

  • nuevo correo:Variable para almacenar la referencia del nuevo elemento de correo.
  • Sujeto: Esto puede variar, dependiendo de lo que desee tener como asunto para su correo electrónico.

Puede agregar los destinatarios deseados dentro del A y CC palabras clave de la siguiente manera:

nuevo correo. a = '[email protected]'
nuevo correo. CC = '[email protected]'

Dónde:

  • A: dirección de correo electrónico del destinatario principal.
  • CC: destinatarios de correo electrónico copiados.

Con Python, puede enviar correos electrónicos a múltiples destinatarios. Agrega un punto y coma (;) separador entre ID de correo electrónico dentro de la columna Para/CC.

Finalmente, una vez que defina el asunto y los destinatarios, puede agregar el cuerpo del correo electrónico al nuevo elemento de correo antes de enviarlo a los destinatarios dentro del A y CC columnas

nuevo correo. Cuerpo= "Hola, este es un correo electrónico de prueba para mostrar cómo enviar correos electrónicos desde Python y Outlook".

Para agregar archivos adjuntos a su correo electrónico, puede usar los siguientes comandos:

adjuntar = 'C:\\Usuarios\\admin\\Escritorio\\Python\\Sample.xlsx'
nuevo correo.Archivos adjuntos.Agregar(adjuntar)

Como 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 utilizar el Mostrar() comando de la siguiente manera:

nuevo correo.Mostrar()

Puedes usar el Enviar() comando si desea enviar el correo electrónico sin revisarlo de antemano.

nuevo correo.Enviar()

Recuerde, no verá una vista previa del correo electrónico si usa el Enviar manda directamente. Use este comando sabiamente si cambia el contenido del cuerpo de su correo electrónico regularmente. Puede usar el código de Python de una sola vez para importar la biblioteca, establecer la conexión y enviar los correos electrónicos rápidamente.

Aquí está el código completo:

importar win32com.cliente
ol=win32com.cliente. Despacho("outlook.aplicación")
olmailitem=0x0#tamaño del nuevo correo electrónico
correo nuevo = ol. CreateItem (olmailitem)
nuevo correo. Asunto= 'Correo de prueba'
nuevo correo. a ='[email protected]'
nuevo correo. CC='[email protected]'
nuevo correo. Cuerpo= "Hola, este es un correo electrónico de prueba para mostrar cómo enviar correos electrónicos desde Python y Outlook".
#attach='C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
# nuevo correo.Archivos adjuntos.Agregar(adjuntar)
# Para mostrar el correo antes de enviarlo
# nuevo correo. Mostrar()
nuevo correo.Enviar()

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 es un ávido usuario de Python y no está demasiado interesado en abrir un cliente de correo electrónico repetidamente para escribir correos electrónicos, puede dejar que el lenguaje de programación lo haga por usted.

¿Por qué pasar horas haciendo tareas repetitivas, cuando puedes enviar correos electrónicos automatizados usando Python con unas pocas líneas de código?