Конвертация и обработка шаблонов Outlook (OFT)

Шаблоны Outlook (OFT) предоставляют удобный способ оптимизировать процесс отправки повторяющихся электронных писем. Вместо того чтобы каждый раз создавать письмо с нуля, вы можете создать сообщение в Outlook и сохранить его как шаблон Outlook (OFT). Позже, когда понадобится отправить похожее письмо, вы сможете быстро сгенерировать его из шаблона. Такой подход экономит время на переписывание одинакового содержимого в теле письма, указание темы, форматирование и т.д.

Загрузить, изменить и сохранить файл OFT

Aspose.Email предоставляет MailMessage класс для загрузки и управления файлами шаблонов Outlook (OFT). После загрузки шаблона Outlook в экземпляр MailMessage класс, с помощью которого можно легко обновлять свойства, такие как отправитель, получатель, тело сообщения, тема и различные другие атрибуты.

import aspose.email as ae

# Load the OFT file
oft_file_path = "your_template.oft"
mail_message = ae.MailMessage.load(oft_file_path)

# Update properties as needed
mail_message.subject = "Updated Subject"
mail_message.body = "Updated body text."

# Save the updated message as an MSG file
msg_file_path = "updated_message.msg"
mail_message.save(msg_file_path, ae.MailMessageSaveType.outlook_message_format_unicode)

print(f"Updated message saved to {msg_file_path}")

После внесения необходимых изменений вы можете отправить письмо, используя SmtpClient класс:

import aspose.email as ae

mail_message = ae.MailMessage.load("updated_message.msg")

# Send the email
with ae.clients.smtp.SmtpClient("smtp.example.com", 587, "username", "password", ae.clients.SecurityOptions.AUTO) as client:
    client.send(mail_message)

Сохранить файлы MSG как шаблоны Outlook

Чтобы создать письмо, а затем сохранить его как файл OFT, используйте MailMessage класс. Следующий пример кода показывает, как сохранить письмо в виде шаблона Outlook:

import aspose.email as ae

# Create a new MailMessage
message = ae.MailMessage()
message.subject = "Sample Outlook Template"
message.html_body = "<html><body>This is the body of the email.</body></html>"
message.from_address = ae.MailAddress("your.email@example.com", "Your Name")

# Save the MailMessage as an Outlook Template (OFT) file
oft_file_path = "sample_template.oft"
message.save(oft_file_path, ae.SaveOptions.default_oft)

print(f"Outlook Template saved as {oft_file_path}")

Определить типы файлов OFT и MSG

Следующий фрагмент кода иллюстрирует, как определить, является ли загруженное MAPI‑сообщение стандартным письмом или шаблоном Outlook (OFT):

import aspose.email as ae

msg = ae.mapi.MapiMessage.load("message.msg")
is_oft = msg.is_template  # returns False

msg = ae.mapi.MapiMessage.load("message.oft")
is_oft = msg.is_template  # returns True

После загрузки файла MSG код проверяет, установлен ли параметр is_template у MapiMessaage класс возвращает True или False. Если возвращает false, загруженное сообщение является стандартным электронным письмом, а не шаблоном Outlook; если возвращает true, сообщение является шаблоном Outlook.

Сохранить MapiMessage или MailMessage в формате OFT

Этот SaveOptions является абстрактным базовым классом, позволяющим пользователю задавать дополнительные параметры при сохранении MailMessage в определённый формат. Следующий пример кода демонстрирует, как сохранить сообщение в формате OFT:

import aspose.email as ae

# Save the MailMessage to OFT format
eml = ae.MailMessage.load("message.eml")

eml.save("message.oft", ae.SaveOptions.default_oft)

# or alternative way 2
save_options = ae.MsgSaveOptions(ae.MailMessageSaveType.outlook_template_format)
eml.save("message.oft", save_options)

# or alternative way 3
save_options = ae.SaveOptions.create_save_options(ae.MailMessageSaveType.outlook_template_format)
eml.save("message.oft", save_options)

# Save the MapiMessage to OFT format
msg = ae.mapi.MapiMessage.load("message.msg")

msg.save("message.oft", ae.SaveOptions.default_oft)

# or alternative way 2
save_options = ae.MsgSaveOptions(ae.MailMessageSaveType.outlook_template_format)
msg.save("message.oft", save_options)

# or alternative way 3
save_options = ae.SaveOptions.create_save_options(ae.MailMessageSaveType.outlook_template_format)
msg.save("message.oft", save_options)