# Code from best solution in page below: # https://help.zoho.com/portal/community/topic/zoho-mail-servers-reject-python-smtp-module-communications import smtplib from email.mime.text import MIMEText from email.header import Header from email.utils import formataddr # Define to/from sender = 'sender@example.com' sender_title = "Allan Smith" recipient = 'recipient@example.com' # Create message msg = MIMEText("Message text", 'plain', 'utf-8') msg['Subject'] = Header("Sent from python", 'utf-8') msg['From'] = formataddr((str(Header(sender_title, 'utf-8')), sender)) msg['To'] = recipient # Create server object with SSL option # Change below smtp.zoho.com, corresponds to your location in the world. # For instance smtp.zoho.eu if you are in Europe or smtp.zoho.in if you are in India. server = smtplib.SMTP_SSL('smtp.zoho.com', 465) # Perform operations via server server.login('sender@example.com', 'password') server.sendmail(sender, [recipient], msg.as_string()) server.quit()