Trabajando con la Opción de Votación Usando MapiMessage

Creando Opción de Votación Usando MapiMessage

Microsoft Outlook permite a los usuarios crear una encuesta al redactar un nuevo mensaje. Les permite incluir opciones de votación como Sí, No, Quizás, etc. Aspose.Email permite lo mismo al crear un nuevo mensaje de Outlook. La clase FollowUpOptions proporciona la propiedad VotingButtons que se puede usar para establecer o obtener el valor de las opciones de votación. Este artículo proporciona un ejemplo detallado de cómo crear un MapiMessage con opciones de votación para crear una encuesta.

Creando una Encuesta usando MapiMessage

El siguiente ejemplo de código muestra cómo usar la propiedad voting_buttons de la clase FollowUpOptions para crear una encuesta:

import aspose.email as ae

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

# Establecer los botones de FollowUpOptions
options = ae.mapi.FollowUpOptions()
options.voting_buttons = "Sí;No;Quizás;¡Exactamente!"

msg.save("voting_btns.msg")

Leyendo Opciones de Votación de un MapiMessage

El siguiente fragmento de código te muestra cómo leer las opciones de votación de un 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)

Leyendo Solo Botones de Votación

El siguiente fragmento de código te muestra cómo leer solo los botones de votación.

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)

Agregando un botón de votación a un Mensaje Existente

El siguiente fragmento de código te muestra cómo agregar un botón de votación a un mensaje 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")

Eliminando el botón de votación de un Mensaje

El siguiente fragmento de código te muestra cómo eliminar el botón de votación de un Mensaje.

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")

Leer la Información de Resultados de Voto

El siguiente fragmento de código te muestra cómo leer la información de los resultados de voto.

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))

Establecer la bandera de mensaje no enviado

El siguiente fragmento de código te muestra cómo muestrear los métodos utilizados en los ejemplos.

import aspose.email as ae

msg = ae.mapi.MapiMessage("from@test.com", "to@test.com", "Mensaje marcado", "Hazlo agradable y breve, pero descriptivo. La descripción puede aparecer en las páginas de resultados de búsqueda de los motores de búsqueda...")
msg.set_message_flags(msg.flags ^ ae.mapi.MapiMessageFlags.UNSENT)