У меня проблема с отправкой простого письма с помощью smtplib.Моя программа сбивается в этой строке smtplib.SMTP('smtp.gmail.com', port=587)
с ошибкой: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 7: invalid continuation byte
.Как я могу решить эту проблему?
Кодировка файла: UTF-8 (все символы английские)
Версия Python: 3.6.4
Полная программа:
import smtplib
from email.message import EmailMessage
mail_addr = "myemail@gmail.com"
msg = EmailMessage()
msg['From'] = mail_addr
msg['To'] = "myemail@gmail.com"
msg['Subject'] = "Hello!"
msg.set_content('Email body')
email_address = "myemail@gmail.com"
email_password = "password"
body = "Hello, world!"
server = smtplib.SMTP('smtp.gmail.com', port=587)
server.ehlo()
server.starttls()
server.login(email_address, email_password)
server.send_message(msg=msg, from_addr=mail_addr, to_addrs=mail_addr)
print('Email sent successfully')
Полный вывод:
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.3\helpers\pydev\pydev_run_in_console.py", line 53, in run_file
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.3\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "C:/MyPrograms/Python/docsCreator/main/starter.py", line 21, in <module>
server = smtplib.SMTP('smtp.gmail.com', port=587)
File "C:\Users\Dmitry\AppData\Local\Programs\Python\Python36-32\Lib\smtplib.py", line 261, in __init__
fqdn = socket.getfqdn()
File "C:\Users\Dmitry\AppData\Local\Programs\Python\Python36-32\Lib\socket.py", line 673, in getfqdn
hostname, aliases, ipaddrs = gethostbyaddr(name)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 7: invalid continuation byte
PyDev console: starting.