Мим – искусство молчания
MIME (Multipurpose Internet Mail Extensions) - это стандарт интернет протоколов, который определяет способы кодирования и передачи различных типов данных, таких как изображения, аудио, видео, текст, бинарные файлы и др., через Интернет. MIME был разработан для того, чтобы обеспечить правильное отображение содержимого электронных писем и веб-страниц, независимо от типа файла и ОС получателя.
MIME определяет тип контента с помощью специальных заголовков Content-Type и Content-Disposition. Content-Type задает тип MIME для содержимого, такой как text/plain для обычного текста или image/gif для изображений в формате GIF. Content-Disposition задает указание о том, как должно быть обработано содержимое, такое как attachment для файлов, которые должны быть сохранены на жестком диске получателя.
Пример кода для отправки письма с вложенным файлом и установкой правильного типа MIME:
python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
# Создаем объект MIMEMultipart для добавления различных типов контента
msg = MIMEMultipart()
# Добавляем текстовое содержимое
text = MIMEText("Привет, мир!")
msg.attach(text)
# Добавляем изображение в формате PNG
with open('image.png', 'rb') as f:
img = MIMEImage(f.read())
msg.attach(img)
# Устанавливаем правильный тип MIME для изображения
img.add_header('Content-Disposition', 'attachment; filename="image.png"')
# Отправляем письмо с помощью SMTP сервера
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login("youremail@gmail.com", "yourpassword")
server.sendmail("youremail@gmail.com", "recipientemail@gmail.com", msg.as_string())
server.quit()
Этот код создает объект MIMEMultipart, который содержит текстовое сообщение и изображение в формате PNG в виде вложенного файла. Затем мы устанавливаем правильный тип MIME для изображения и отправляем письмо с помощью SMTP сервера. Мы используем библиотеку email в Python для создания и форматирования письма в соответствии со стандартом MIME.