69 lines
2.0 KiB
Python
69 lines
2.0 KiB
Python
#Get stock symbols in a file
|
|
#Get daily quote at end of day
|
|
#Send email, see Jupyter thing on other laptop for sending email
|
|
|
|
|
|
import yfinance as yf
|
|
import smtplib, ssl, sys, os, configparser
|
|
from email.mime.text import MIMEText
|
|
from email.mime.application import MIMEApplication
|
|
from email.mime.multipart import MIMEMultipart
|
|
from smtplib import SMTP
|
|
|
|
|
|
config = configparser.ConfigParser()
|
|
config.read("/home/sebadmin/scripts/Stocks/testenv.txt")
|
|
emailp = config.get("config","test")
|
|
|
|
|
|
|
|
#Yfinance tests
|
|
#https://pypi.org/project/yfinance/
|
|
|
|
|
|
data2 = yf.download("CRSR VTI VOO DIS UI TSLA TTWO GME INTC", period="1d")
|
|
#print(data2.tail(1))
|
|
#data2.head()
|
|
Dayclose = data2["Close"].round(decimals=2)
|
|
Dayopen = data2["Open"].round(decimals=2)
|
|
|
|
|
|
recipients = ["sebastien.trudel@pirolian.com"]
|
|
emaillist = [elem.strip().split(',') for elem in recipients]
|
|
msg = MIMEMultipart()
|
|
msg["Subject"] = "Daily Stock report"
|
|
msg["From"] = "trudel.sebastien@gmail.com"
|
|
|
|
|
|
html = """\
|
|
<html>
|
|
<head>Close</head>
|
|
<body>
|
|
{0}
|
|
</body>
|
|
</html>
|
|
""".format(Dayclose.to_html())
|
|
|
|
html2 = """\
|
|
<html>
|
|
<head>Open</head>
|
|
<body>
|
|
{0}
|
|
</body>
|
|
</html>
|
|
""".format(Dayopen.to_html())
|
|
|
|
part1 = MIMEText(html, "html")
|
|
part2 = MIMEText(html2, "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("smtp.gmail.com", Email_Port, context=context) as server:
|
|
server.login("trudel.sebastien@gmail.com", emailp) # This statement is of the form: server.login(<Your email>, "Your email password")
|
|
# server.sendmail("strudel@pirolian.com", "sebastien.trudel@pirolian.com", Body_of_Email) # This statement is of the form: server.sendmail(<Your email>, <Email receiving message>, Body_of_Email)
|
|
server.sendmail(msg["From"], emaillist, msg.as_string()) # This statement is of the form: server.sendmail(<Your email>, <Email receiving message>, Body_of_Email)
|
|
|
|
|
|
|