Knowledgebase

Надішліть електронний лист за допомогою Python [З вкладенням] - Новий підручник

Дізнайтеся, як легко надсилати електронні листи за допомогою Python, використовуючи API Aspose . За допомогою бібліотеки Aspose.Email for Python via .NET ви можете створювати, конвертувати, надсилати, отримувати або маніпулювати електронними повідомленнями, включаючи формати MSG , PST , EML , EMLX , та багато інших форматів файлів.

Send an email with Python

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 — розширення мови розмітки гіпертексту для веб-сторінок та відображення у браузерах
MHTML — архівний формат, що містить вміст веб-сторінки

Створення та налаштування вмісту електронного листа за допомогою Python

Створення електронного листа

За допомогою класу MailMessage розробники можуть створити новий електронний лист. Цей клас представляє електронне повідомлення. Такі властивості листа, як From, To, Subject та Body, можна легко задати для створеного листа.

Ми виконаємо наступні кроки для створення нового електронного листа:

  1. Створення екземпляра класу MailMessage
  2. Встановлення властивостей електронного листа
  3. Збереження електронних листів у різних форматах, таких як EML, MSG та MHTML

Нижче наведено фрагмент коду, який показує, як створити новий лист з різними властивостями:
For complete examples and data files, please go to 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‑и вмісту листа порівнюються та розв’язуються проти 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)

Додавання вкладення до електронного листа

Ми виконаємо наступні кроки, щоб додати вкладення до листа:

  1. Створення екземпляра класу MailMessage та Attachment
  2. Завантаження вкладення у екземпляр Attachment
  3. Додавання екземпляра 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, ми виконаємо такі кроки:

  1. Створення екземпляра класу MailMessage
  2. Вказання електронних адрес відправника та отримувача у екземплярі MailMessage
  3. Вказання вмісту TextBody
  4. Створення екземпляра класу SmtpClient та надсилання електронного листа

Нижче наведено фрагмент коду, який показує, як надіслати текстовий лист за допомогою Python:
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)

Якщо вам потрібна допомога з вашим проєктом, ви завжди можете звернутися до наших експертів з Платні консультації . Наша команда працюватиме з вами, щоб знайти найкраще рішення для вашого проєкту, впровадити його відповідно та надати найвищу цінність. Ви можете розраховувати на нас у вашому подальшому зростанні та розвитку.