Помогите, пожалуйста. Отправляю почту с использованием smtplib. Все отлично работает, но вот только не знаю, как указать такие параметры письма как тип, кодировка и тема.
Заранее спасибо!
mail = MIMEText('Only right now! MAX-GAIN+ by 10$!!!', 'plain', 'latin-1')
mail['From'] = 'Spam-bot'
mail['To'] = 'Vasya Pupkin'
mail['Subject'] = 'Enhance ... '
'''Перед отправлением нужно сформатировать сообщение в строку, используя метод as_string'''
server = smtplib.SMTP(host)
server.sendmail(from_addr, to_addr, mail.as_string())
sourcesВот с какими проблемами можно столкнуться:
class Message:
“”"Basic message object… ‘'’
mail = Message()
mail['To'] = 'smbd'
documentationНо! Как бы мы ни приаттачивали текст сообщения (в виде списка, либо отдельного аргумента), будет вываливатся ошибка, что payload - не строка (при вызове метода as_string).
attach( payload)
Add the given payload to the current payload, which must be None or a list of Message objects before the call. After the call, the payload will always be a list of Message objects. If you want to set the payload to a scalar object (e.g. a string), use set_payload() instead.
>>> mail.set_payload('my text')
>>> mail.as_string()
'\nmy text'
mail = MIMEMultipart()
msg = MIMEText('my text')
input = open('myzip.zip', 'rb')
attachment = MIMEApplication(input.read(), 'zip')
input.close()
attachment.add_header('Content-Disposition', 'attachment', filename='filename_in_the_letter.zip')
mail.attach(msg)
mail.attach(attachment)
mail.as_string()