As conversões de e-mail para PDF são necessárias ao referenciar e compartilhar o conteúdo do e-mail. Neste artigo, aprenderemos a converter arquivos de mensagens de e-mail como MSG e EML em PDF usando Python. Isso ajudará você a automatizar a conversão de mensagens de e-mail na nuvem dentro do seu aplicativo.

Converter e-mails para PDF em Python

A seguir estão os tópicos abordados neste artigo:

Biblioteca de Conversão Python

Estarei usando GroupDocs.Conversion Cloud API for Python para a conversão de mensagens de e-mail EML e MSG em PDF na nuvem. Ao usar esta API, você também pode converter uma grande lista de formatos de documentos e imagens em qualquer outro formato suportado.

Existem exemplos de python disponíveis no GitHub que ajudam você a aprender e implementar os recursos em seu próprio aplicativo. Você pode instalar groupdocs-conversion-cloud com pip (package installer for python) de PyPI (Python Package Index) usando o seguinte comando:

pip install groupdocs-conversion-cloud

ou clone o repositório e instale-o via setuptools:

python setup.py install

Antes de prosseguir, obtenha rapidamente seu Client ID e Client Secret em seu dashboard e, em seguida, pule abaixo para ver a maneira python de converter seus e-mails em PDF, que é o popular formato de documento portátil.

Converter MSG para PDF usando Python

Os arquivos MSG do Outlook podem ser convertidos em PDF com apenas algumas linhas de código e seguindo as etapas mencionadas abaixo. Os links incorporados nas etapas permitirão uma exploração mais aprofundada das classes e métodos.

  1. Defina a configuração usando o ID do cliente, o segredo do cliente e a URL base da API.
  2. Defina as configurações com o caminho do arquivo e o formato de saída.
  3. Defina as opções de carregamento usando EmailLoadOptions.
  4. Use o método convert\document junto com as configurações para converter o arquivo MSG para o formato PDF.

O código python a seguir segue as etapas acima e converte o arquivo MSG de e-mail em formato PDF. Você também tem a opção de ocultar ou mostrar diferentes campos (para, cc, bcc) das mensagens de e-mail.

# Converter arquivo de e-mail MSG para PDF em Python usando GroupDocs.Conversion Cloud API
configuration = groupdocs_conversion_cloud.Configuration("<< CLIENT_ID >>", "<< CLIENT_SECRET >>")
configuration.api_base_url = "https://api.groupdocs.cloud"

# Criar instâncias de API
apiInstance = groupdocs_conversion_cloud.ConvertApi.from_config(configuration)

# Configurações de conversão
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "filepath/email.msg"
settings.format = "pdf"

# Carregar Opções
loadOptions = groupdocs_conversion_cloud.EmailLoadOptions()

## Set different fields as visible or hidden
loadOptions.display_header = True
loadOptions.display_from_email_address = True
loadOptions.display_to_email_address = False
loadOptions.display_email_address = True
loadOptions.display_cc_email_address = True
loadOptions.display_bcc_email_address = True

settings.load_options = loadOptions
settings.output_path = "filepath/folder"

# Converter para PDF de acordo com as configurações
result = apiInstance.convert_document(groupdocs_conversion_cloud.ConvertDocumentRequest(settings))

Aqui está o arquivo MSG de amostra que é criado usando o Microsoft Outlook. Mais abaixo está o arquivo PDF, que é obtido convertendo o arquivo MSG usando o código python.

Arquivo de e-mail MSG a ser convertido em PDF programaticamente
MSG convertido em arquivo PDF programaticamente

Converter EML para PDF usando Python

Da mesma forma, o ee também pode converter programaticamente nossas mensagens de e-mail em formato EML em formato PDF com linhas semelhantes de código python. As etapas a seguir irão guiá-lo para atingir o objetivo.

  1. Defina a configuração usando o ID do cliente, o segredo do cliente e a URL base da API.
  2. Defina o caminho de origem, formato de saída e ConvertSettings.
  3. Defina as opções de carregamento usando EmailLoadOptions e também defina os campos para mostrar ou ocultar no PDF convertido.
# Converta programaticamente arquivo EML em PDF em Python usando GroupDocs.Conversion Cloud API
configuration = groupdocs_conversion_cloud.Configuration("<< CLIENT_ID >>", "<< CLIENT_SECRET >>")
configuration.api_base_url = "https://api.groupdocs.cloud"

# Criar instâncias de API
apiInstance = groupdocs_conversion_cloud.ConvertApi.from_config(configuration)

# Configurações de conversão
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "filepath/email.eml"
settings.format = "pdf"

# Carregar opções
loadOptions = groupdocs_conversion_cloud.EmailLoadOptions()

## Set different fields as visible or hidden
loadOptions.display_cc_email_address = False
loadOptions.display_bcc_email_address = False

settings.load_options = loadOptions
settings.output_path = "filepath/folder"

# Converter para PDF de acordo com as configurações
result = apiInstance.convert_document(groupdocs_conversion_cloud.ConvertDocumentRequest(settings))

Aqui estão o arquivo EML de origem e as capturas de tela do arquivo PDF convertido, que foram convertidos usando o código acima.

Arquivo EML a ser convertido em PDF programaticamente
EML convertido para arquivo PDF programaticamente

Conclusão

Hoje, aprendemos a converter os arquivos MSG e EML em PDF na nuvem usando a API de conversão do Python. Além disso, podemos aplicar programaticamente a personalização aos arquivos PDF resultantes para obter o resultado no estilo desejado. Você pode aprender mais sobre GroupDocs.Conversion Cloud API na documentação. Em caso de ambiguidade, sinta-se à vontade para entrar em contato com suporte.

Veja também