Como Enviar Anexos por Email com Python

Avatar de Ana Maria Ana Maria
3 minutos de leitura 4 meses atrás

Enviar anexos por email é uma tarefa comum no dia a dia de muitos profissionais. Seja para compartilhar documentos, imagens ou qualquer outro tipo de arquivo, o envio de anexos é uma funcionalidade essencial dos serviços de email. Para quem está começando no mundo da programação com Python, pode parecer um desafio realizar essa tarefa de forma automatizada. No entanto, com as bibliotecas certas e um pouco de código, você pode facilmente enviar anexos por email utilizando Python. Neste tutorial, vamos aprender como fazer isso passo a passo.

clipe de papel cor de rosa

Preparando o Ambiente

Antes de começarmos a escrever nosso código, precisamos garantir que temos tudo o que é necessário para o envio de emails com anexos em Python. A biblioteca que vamos utilizar é a Imbox, que facilita a interação com caixas de correio eletrônico. Para instalar a biblioteca, abra o terminal ou prompt de comando e digite:

pip install imbox

Estabelecendo a Conexão com o Servidor de Email

Para enviar um email, precisamos primeiro estabelecer uma conexão com o servidor de email. Vamos utilizar o protocolo IMAP para isso. Abaixo está um exemplo de como fazer essa conexão utilizando a biblioteca Imbox:

from imbox import Imbox

# Substitua pelos seus dados de acesso
host = 'imap.gmail.com'
email = '[email protected]'
password = 'suasenha'

with Imbox(host, username=email, password=password) as imbox:
    print('Conexão estabelecida com sucesso!')

Enviando um Email com Anexo

Agora que já temos a conexão estabelecida, vamos ao que interessa: enviar um email com anexo. Para isso, precisamos criar uma mensagem de email e adicionar o arquivo que desejamos anexar. Veja como fazer isso:

import smtplib
from email.message import EmailMessage

# Criando a mensagem
msg = EmailMessage()
msg['Subject'] = 'Assunto do Email'
msg['From'] = email
msg['To'] = '[email protected]'
msg.set_content('Corpo do email.')

# Adicionando o anexo
with open('caminho/do/arquivo/anexo.pdf', 'rb') as f:
    file_data = f.read()
    file_name = f.name

msg.add_attachment(file_data, maintype='application', subtype='octet-stream', filename=file_name)

# Enviando o email
with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
    smtp.login(email, password)
    smtp.send_message(msg)

print('Email enviado com sucesso!')

No código acima, substitua '[email protected]' e 'suasenha' pelos seus dados de acesso ao servidor de email. Além disso, altere '[email protected]' pelo email do destinatário e 'caminho/do/arquivo/anexo.pdf' pelo caminho do arquivo que você deseja anexar.

Conclusão

Enviar anexos por email com Python é uma tarefa simples quando temos as ferramentas certas. Com a biblioteca Imbox e o módulo smtplib, você pode automatizar o envio de emails com anexos de forma eficiente e segura. Agora que você aprendeu o básico, experimente modificar o código para atender às suas necessidades específicas e explore outras funcionalidades que essas bibliotecas oferecem. Lembre-se de que a prática leva à perfeição, então continue praticando e logo você estará automatizando todo tipo de tarefa com Python!

Curso Gratuito

Curso gratuito de Python

Do zero ao primeiro projeto em apenas 2 horas

Criar conta gratuita

Comentários

Comentar
Você tem o Acesso Básico.
Libere seu acesso ao suporte dos professores Garanta seu acesso PRO para tirar todas suas dúvidas com nossa equipe.
Seja PRO