Я пытаюсь написать сценарий, который срывает текст с сайта и затем отправляет указанный текст мне по электронной почте.Кодирование Извлечение BeautifulSoup текст на адрес электронной почты
Все это работает по желанию, за исключением кодировки. В электронном письме содержатся такие строки, как:
Мы говорим: «Ну, это все закончилось и теперь разрушено; что?
Очевидно, что "???" должны быть апострофами. Я не очень хорошо знаком с тонкостями того, как кодирование работает, особенно когда оно относится к электронной почте, поэтому любая помощь будет оценена по достоинству. Соответствующая часть моего сценария ниже:
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddrs
msg['Subject'] = "Daily Utmost Devo"
# webtext, cleanverse, & cleanlink are all <type 'unicode'> at this point
body = webtext.encode('utf-8')
bodyverse = cleanverse.encode('utf-8')
bodylink = cleanlink.encode('utf-8')
msg.attach(MIMEText(body, 'plain'))
msg.attach(MIMEText(bodyverse, 'plain'))
msg.attach(MIMEText(bodylink, 'plain'))
username = '[email protected]'
password = 'xxxxx'
server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo()
server.starttls()
server.ehlo()
server.login(username, password)
text = msg.as_string()
server.sendmail(fromaddr, toaddrs, text)
server.quit()
Спасибо! Работала отлично. Как примечание, знаете ли вы какие-либо ресурсы для форматирования текста внутри полученного письма (т. Е. Шрифта, размера и т. Д.)? Еще раз спасибо. – Extinct23
@ Extinct23 вы должны изучить форматирование HTML.Электронная почта позволяет одновременно отправлять в формате HTML и текстовую версию письма. Я не уверен, как Python справляется с этим, хотя –