Trabalhando com Opção de Votação Usando MapiMessage

Criando Opção de Votação Usando MapiMessage

O Microsoft Outlook permite que os usuários criem uma enquete ao compor uma nova mensagem. Ele permite que incluam opções de votação como Sim, Não, Talvez, etc. Aspose.Email permite o mesmo ao criar uma nova mensagem do Outlook. A classe FollowUpOptions fornece a propriedade VotingButtons que pode ser usada para definir ou obter o valor das opções de votação. Este artigo fornece um exemplo detalhado de criação de um MapiMessage com opções de votação para criar uma enquete.

Criando uma Enquete usando MapiMessage

O seguinte exemplo de código mostra como usar a propriedade voting_buttons da classe FollowUpOptions para criar uma enquete:

import aspose.email as ae

msg = ae.mapi.MapiMessage.load("my.msg")

# Definir Botões FollowUpOptions
options = ae.mapi.FollowUpOptions()
options.voting_buttons = "Sim;Não;Talvez;Exatamente!"

msg.save("voting_btns.msg")

Lendo Opções de Votação de um MapiMessage

O seguinte trecho de código mostra como ler opções de votação de um MapiMessage.

For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
message = MapiMessage.from_file("MessageWithVotingResponded.msg")
# This method can be useful when except voting buttons it is necessary to get other parameters (ex. a category)
options = FollowUpManager.get_options(message)
# Voting buttons will be introduced as a string with semi-column as a separator
votingButtons = options.voting_buttons
print(votingButtons)

Lendo Apenas Botões de Votação

O seguinte trecho de código mostra como ler apenas os botões de votação.

For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
message = MapiMessage.from_file("MessageWithVotingResponded.msg")
buttons = FollowUpManager.get_voting_buttons(message)
for button in buttons:
print(button)

Adicionando botão de votação a uma Mensagem Existente

O seguinte trecho de código mostra como adicionar um botão de votação a uma mensagem existente.

For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
message = MapiMessage.from_file("message.msg")
FollowUpManager.add_voting_button(message, "Indeed!")
message.save(dataDir + "AddVotingButtonToExistingMessage_out.msg")

Excluindo Botão de Votação de uma Mensagem

O seguinte trecho de código mostra como excluir um botão de votação de uma Mensagem.

For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
message = MapiMessage.from_file("message.msg")
FollowUpManager.add_voting_button(message, "Indeed!")
message.save(dataDir + "AddVotingButtonToExistingMessage_out.msg")
eml = MailMessage("from@gmail.com", "to@gmail.com", "Subject", "Body")
eml.is_draft = False
msg = MapiMessage.from_mail_message(eml)
options = FollowUpOptions()
options.voting_buttons = "Yes;No;Maybe;Exactly!"
FollowUpManager.set_options(msg, options)
msg.save(dataDir + "MapiMsgWithPoll.msg")
FollowUpManager.remove_voting_button(msg, "Exactly!");#Deleting a single button OR
FollowUpManager.clear_voting_buttons(msg) # Deleting all buttons from a MapiMessage
msg.save(dataDir + "MapiMsgWithPoll_out.msg")

Ler as Informações dos Resultados da Votação

O seguinte trecho de código mostra como ler as informações dos resultados da votação.

For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
msg = MapiMessage.from_file(dataDir + "AddVotingButtonToExistingMessage.msg");
for recipient in msg.recipients:
print("Recipient: {0}".format(recipient.display_name))
#get the PR_RECIPIENT_AUTORESPONSE_PROP_RESPONSE property
print("Response: {0}".format(recipient.properties[MapiPropertyTag.RECIPIENT_AUTORESPONSE_PROP_RESPONSE].get_string()))
#Get the PR_RECIPIENT_TRACKSTATUS_TIME property
mt = recipient.properties[MapiPropertyTag.RECIPIENT_TRACKSTATUS_TIME]
if mt is not None:
mt_value = mt.get_date_time()
print("Response time: {}".format(mt_value))

Definir flag de mensagem não enviada

O seguinte trecho de código mostra como amostrar métodos usados nos exemplos.

import aspose.email as ae

msg = ae.mapi.MapiMessage("from@test.com", "to@test.com", "Mensagem sinalizada", "Faça de forma agradável e curta, mas descritiva. A descrição pode aparecer nas páginas de resultados de pesquisa dos motores de busca...")
msg.set_message_flags(msg.flags ^ ae.mapi.MapiMessageFlags.UNSENT)