1. Vamos aprender nessa aula a coletar informações de um ativo da Ibovespa, salvar uma imagem sobre o preço daquele ativo nos últimos anos e então enviar um e-mail com alguma dessas informações.
  2. Pensando nisso, vamos criar o arquivo acoes.py
import yfinance as yf 
from datetime import datetime
from matplotlib import pyplot as plt

end_data = datetime.now().strftime('%Y-%m-%d')
print(end_data)
bb = yf.Ticker('BBAS3.SA')
data_bb = bb.history(
        #"BBAS3.SA", 
        start="2020-07-16", 
        end=end_data, 
)
data_bb['Close'].plot()
plt.savefig('bb_preco.png')
print(data_bb.tail())
data_bb['Volume'].plot()
plt.savefig('bb_volume.png')
  1. Agora vamos criar o arquivo 9-email_bb.py
from email.message import EmailMessage
import smtplib
import ssl
import mimetypes

password = open('senha', 'r').read()
from_email = '[email protected]'
to_email = '[email protected]'
subject = 'Informes BB'
body = open('files/fato_bb.txt', 'r', encoding='utf-8').read()

message = EmailMessage()
message['From'] = from_email
message['To'] = to_email
message['Subject'] = subject

message.set_content(body)
safe = ssl.create_default_context()

anexo = 'bb_preco.png'
print(mimetypes.guess_type(anexo)[0])
mime_type, mime_subtype = mimetypes.guess_type(anexo)[0].split('/')
with open(anexo, 'rb') as a:
    message.add_attachment(
        a.read(),
        maintype=mime_type,
        subtype=mime_subtype,
        filename=anexo
    )

with smtplib.SMTP_SSL('smtp.gmail.com', 465, context=safe) as smtp:
    smtp.login(from_email, password)
    smtp.sendmail(from_email, to_email, message.as_string())
  1. Para executar o arquivo execute o comando python .\9-email_bb.py

Img.png