Отправка письма с помощью Python [С вложением] - Новый учебник
Узнайте, как легко отправлять электронные письма с помощью Python, используя API Aspose . С библиотекой Aspose.Email for Python via .NET вы можете создавать, конвертировать, отправлять, получать или управлять электронными сообщениями, включая форматы MSG , PST , EML , EMLX , а также многие другие форматы файлов.

Aspose.Email for Python via .NET — это надёжный и мощный API для программирования электронной почты, позволяющий создавать, изменять и конвертировать распространённые форматы сообщений без необходимости разбираться в сложностях их внутренней реализации. Это удобная библиотека классов, созданная для предоставления выдающегося и надёжного компонента работы с электронной почтой. Aspose.Email for Python экономит время и усилия, позволяя быстро и просто внедрять сложную обработку файлов сообщений в ваши приложения.
Наш API может использоваться для выполнения различных задач в приложениях и интегрироваться с любым типом программного обеспечения. Мы предоставляем примеры кода, чтобы разработчики могли быстро приступить к работе.
Особенности Aspose.Email for Python via .NET:
• Конвертация и рендеринг форматов электронной почты
• Отправка и получение обычных форматов писем, включая вложения
• Загрузка писем с серверов IMAP и POP3
• Управление (создание и обновление) задачами с помощью iCalendar
• Работа с файлами хранилища сообщений
• Работа с вложениями писем
• Управление встречами и назначениями, совместимыми с iCalendar
• Поддержка TLS и SSL
• Поддержка вложений TNEF
Поддерживаемые форматы файлов:
MSG — формат Microsoft Outlook и Exchange для хранения сообщений, встреч и аналогичных задач
PST — файлы личного хранилища Outlook для хранения писем, календарей, контактов и других данных
OST — локальные данные почтового ящика пользователя после регистрации на сервере Exchange с Microsoft Outlook
OFT — шаблоны сообщений Microsoft Outlook
EML — сообщения электронной почты, сохранённые в Outlook или аналогичных приложениях
EMLX — текстовый файл, разработанный и реализованный Apple
MBOX — используется для коллекции электронных сообщений
ICS — формат iCalendar для обмена событиями и планирования задач через электронную почту
VCF — формат электронных визитных карточек и хранения контактной информации
HTML — расширение HyperText Markup Language для веб‑страниц и их отображения в браузерах
MHTML — архивный формат, содержащий содержимое веб‑страницы
Создание и настройка содержимого письма с помощью Python
Создание сообщения электронной почты
С помощью класса MailMessage разработчики могут создать новое сообщение. Этот класс представляет электронное письмо. Такие свойства письма, как From, To, Subject и Body, легко задаются для созданного сообщения.
Мы выполним следующие шаги для создания нового письма:
- Создание экземпляра класса MailMessage
- Установка свойств сообщения
- Сохранение сообщений в разных форматах, таких как EML, MSG и MHTML
Ниже показан фрагмент кода, демонстрирующий создание нового письма с различными свойствами:
Для полного примера и файлов данных, пожалуйста, перейдите к https://github.com/aspose-email/aspose-email-python-dotnet
eml = ae.MailMessage()
eml.subject = "New MailMessage created with Aspose.Email for Python"
eml.html_body = "<b>This line is in bold </b> while this is normal text"
eml.from_address = "from@domain.com"
eml.to.append(ae.MailAddress("to1@domain.com", "Recipient 1"))
eml.to.append(ae.MailAddress("to2@domain.com", "Recipient 2"))
eml.cc.append(ae.MailAddress("cc1@domain.com", "Recipient 3"))
eml.cc.append(ae.MailAddress("cc2@domain.com", "Recipient 4"))
#Save generated EML in different formats to disc
eml.save(dataDir + "CreateNewMailMessage_out.eml")
eml.save(dataDir + "CreateNewMailMessage_out.msg", ae.SaveOptions.default_msg_unicode)
eml.save(dataDir + "message_out.msg", ae.SaveOptions.default_msg)
eml.save(dataDir + "message_out.mhtml", ae.SaveOptions.default_mhtml)
eml.save(dataDir + "message_out.html", ae.SaveOptions.default_html)
Установка HTML‑тела сообщения
С помощью свойства HtmlBody задаётся HTML‑содержимое тела письма. Ниже показан фрагмент кода, который задаёт HTML‑тело:
# For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Declare message as MailMessage instance
eml = ae.MailMessage()
# Specify HtmlBody
eml.html_body = "<html><body>This is the HTML body</body></html>"
Установка альтернативного текста в письме
Класс AlternateView определяет копии сообщения в разных форматах и имеет два свойства:
• LinkedResources — используется при рендеринге, URL‑адреса в содержимом письма сопоставляются и разрешаются относительно ссылок в объекте Content Link каждой LinkedResources в коллекции LinkedResources
• BaseUri — используется почтовым клиентом для разрешения относительных URL‑адресов в теле
Ниже пример кода:
# For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Declare message as MailMessage instance
eml = ae.MailMessage()
# Creates AlternateView to view an email message using the content specified in the //string
alternate = AlternateView.create_alternate_view_from_string("Alternate Text")
# Adding alternate text
eml.add_alternate_view(alternate)
Добавление вложения к письму
Для добавления вложения к письму выполните следующие шаги:
- Создание экземпляров классов MailMessage и Attachment
- Загрузка вложения в объект Attachment
- Добавление объекта Attachment в экземпляр MailMessage
Ниже показан пример кода, добавляющего вложение к письму:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Create an instance of MailMessage class
message = MailMessage("sender@domain.com", "receiver@domain.com")
# Load an attachment
attachment = Attachment(dataDir + "1.txt");
# Add Multiple Attachment in instance of MailMessage class and Save message to disk
message.attachments.append(attachment);
message.add_attachment(Attachment(dataDir + "1.jpg"))
message.add_attachment(Attachment(dataDir + "1.doc"))
message.add_attachment(Attachment(dataDir + "1.rar"))
message.add_attachment(Attachment(dataDir + "1.pdf"))
message.save(dataDir + "AddEmailAttachments_out.msg", SaveOptions.default_msg_unicode)
Отправка письма с помощью Python
Aspose.Email for Python позволяет отправлять письма через SMTP, POP3 и IMAP серверы. Вы можете легко войти на POP3‑серверы, используя свои учётные данные (имя пользователя и пароль) или аутентификацию APOP, чтобы выполнять операции с почтой, такие как просмотр размера ящика и количества сообщений, получение полного сообщения или его заголовка, удаление сообщений с сервера, а также базовые POP3‑команды.
Aspose.Email for Python также поддерживает протокол IMAP, включая его команды, аутентификацию, выбор, создание, удаление, запрос папок, сохранение сообщений, получение, удаление и управление метками.
Отправка сообщений с помощью SMTP‑клиента
Для отправки письма с помощью Python выполните следующие шаги:
- Создание экземпляра класса MailMessage
- Указание адресов отправителя и получателя в экземпляре MailMessage
- Указание содержимого TextBody
- Создание экземпляра класса SmtpClient и отправка сообщения
Ниже показан фрагмент кода, отправляющий простое текстовое письмо:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.body = "This is plain text body."
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
#Send using Smtp Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
client.send(eml)
Если вам нужна помощь с проектом, вы всегда можете обратиться к нашим экспертам по Платному консалтингу
. Наша команда поможет подобрать оптимальное решение, реализовать его и обеспечить наилучшее соотношение цены и качества.
Вы можете рассчитывать на нас в дальнейшем росте и развитии.