#Get stock symbols in a file #Get daily quote at end of day #Send email #Using yfinance from https://pypi.org/project/yfinance/ import yfinance as yf import smtplib, ssl, sys, os, configparser import sqlite3 from email.mime.text import MIMEText from email.mime.application import MIMEApplication from email.mime.multipart import MIMEMultipart from smtplib import SMTP #Username/Password for email service, change location of the file config = configparser.ConfigParser() config.read("c:/Users/Seb/pythonmodule/Module1/testenv.txt") emailp = config.get("config","test") #Yfinance tests #https://pypi.org/project/yfinance/ #Change these values for the desired tickers data2 = yf.download("CRSR VTI VOO DIS UI TSLA TTWO GME", period="1d") #Setup date format Dayclose = data2["Close"].round(decimals=2) #Email variables for multiple recipients use coma recipients = ["sebastien.trudel@pirolian.com"] emaillist = [elem.strip().split(',') for elem in recipients] msg = MIMEMultipart() msg["Subject"] = "Daily Stock report" msg["From"] = "strudel@pirolian.com" #Email format as HTML, using a table html = """\
{0} """.format(Dayclose.to_html()) part1 = MIMEText(html, "html") msg.attach(part1) context = ssl.create_default_context() Email_Port = 465 # If you are not using a gmail account, you will need to look up the port for your specific email host with smtplib.SMTP_SSL("smtppro.zoho.com", Email_Port, context=context) as server: server.login("strudel@pirolian.com", emailp) # This statement is of the form: server.login(