Mar-08-2021, 06:59 AM
Hi guys,
I am wondering if anyone can help me format this email so that I just get a bolded: Here are the new jobs from Tethers Unlimited: and then the remaining jobs that populate the email are plain text. I am having a difficult time with the HTML and variable calling because I'm not sure how to manipulate the variable to pull it out of a Set[str] when I can only concatenate strings.
Here is the code:
I am wondering if anyone can help me format this email so that I just get a bolded: Here are the new jobs from Tethers Unlimited: and then the remaining jobs that populate the email are plain text. I am having a difficult time with the HTML and variable calling because I'm not sure how to manipulate the variable to pull it out of a Set[str] when I can only concatenate strings.
Here is the code:
def send_email(jobs): import smtplib, ssl from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart port = 465 password = "XXXX" sender_email = "XXXX" receiver_email = "XXXX" linebreak = '\n' message = MIMEMultipart("alternative") message["Subject"] = "Tethers Unlimited Jobs" message["From"] = sender_email message["To"] = receiver_email text = f"""\ Here are the new jobs from Tethers Unlimited:\n{linebreak.join(jobs)}""" html =""" <html> <body> <p><b>Here are the new jobs from Tethers Unlimited:</b><br> """ + {linebreak.join(jobs)} + """ </p> </body> </html> """ part1 = MIMEText(text,"plain") part2 = MIMEText(html,"html") message.attach(part1) message.attach(part2) context = ssl.create_default_context() with smtplib.SMTP_SSL("smtp.gmail.com", port, context=context) as server: server.login("[email protected]", password) server.sendmail(sender_email, receiver_email, message.as_string())Here is the error I get when I run it:
Error:C:\Python34\venv\Scripts\python.exe C:/Users/Cknut/venv/PersonalCrawlers/TethersUnlimited.py
Traceback (most recent call last):
File "C:/Users/Cknut/venv/PersonalCrawlers/TethersUnlimited.py", line 22, in <module>
send_email(job_list_split)
File "C:\Users\Cknut\venv\PersonalCrawlers\send_email.py", line 19, in send_email
html ="""
TypeError: can only concatenate str (not "set") to str
Process finished with exit code 1