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 pesquisa ao compor uma nova mensagem. Ele permite incluir opções de votação, como Sim, Não, Talvez, etc. O 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 como criar um MapiMessage com opções de votação para criar uma pesquisa.
Criando uma Pesquisa usando MapiMessage
O seguinte trecho de código mostra como criar uma pesquisa, a classe FollowUpManager pode ser usada conforme mostrado no seguinte trecho de código.
// Para exemplos completos e arquivos de dados, por favor, acesse https://github.com/aspose-email/Aspose.Email-for-Java
String address = "firstname.lastname@aspose.com";
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
MailMessage message = createTestMessage(address);
// Definir Botões FollowUpOptions
FollowUpOptions options = new FollowUpOptions();
options.setVotingButtons("Sim;Não;Talvez;Exatamente!");
client.send(message, options);
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.
// Para exemplos completos e arquivos de dados, por favor, acesse https://github.com/aspose-email/Aspose.Email-for-Java
// O caminho para o diretório de arquivos.
String fileName = "outlook/message.msg";
MapiMessage message = MapiMessage.fromFile(fileName);
// Este método pode ser útil quando, além dos botões de votação, é necessário obter outros parâmetros (ex. uma categoria)
FollowUpOptions options = FollowUpManager.getOptions(message);
// Os botões de votação serão apresentados como uma string com ponto e vírgula como separador
String votingButtons = options.getVotingButtons();
Lendo Apenas os Botões de Votação
O seguinte trecho de código mostra como ler apenas os botões de votação.
// Para exemplos completos e arquivos de dados, por favor, acesse https://github.com/aspose-email/Aspose.Email-for-Java
InputStream ms = new FileInputStream(dataDir + "MapiMsgWithPoll_out.msg");
MapiMessage testMsg = MapiMessage.fromStream(ms);
// Este método pode ser útil quando é necessário ler apenas os botões de votação
// Os botões de votação serão apresentados como uma coleção de valores de string
IList buttons = FollowUpManager.getVotingButtons(testMsg);
Adicionando um 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.
// Para exemplos completos e arquivos de dados, por favor, acesse https://github.com/aspose-email/Aspose.Email-for-Java
// O caminho para o diretório de arquivos.
String dataDir = "outlook/";
MapiMessage mapi = MapiMessage.fromFile(dataDir + "message.msg");
FollowUpManager.addVotingButton(mapi, "De fato!");
mapi.save(dataDir + "AddVotingButtonToExistingMessage_out.msg");
Excluindo um botão de votação de uma Mensagem
O seguinte trecho de código mostra como excluir um botão de voto de uma mensagem.
// Para exemplos completos e arquivos de dados, por favor, acesse https://github.com/aspose-email/Aspose.Email-for-Java
// O caminho para o diretório de arquivos.
String dataDir = "outlook/";
// Criar Nova Mensagem e definir propriedades FollowUpOptions, FollowUpManager
MapiMessage msg = createTestMessage(false);
FollowUpOptions options = new FollowUpOptions();
options.setVotingButtons("Sim;Não;Talvez;Exatamente!");
FollowUpManager.setOptions(msg, options);
msg.save(dataDir + "MapiMsgWithPoll.msg");
FollowUpManager.removeVotingButton(msg, "Exatamente!"); // Excluindo um único botão OU
FollowUpManager.clearVotingButtons(msg); // Excluindo todos os botões de um MapiMessage
msg.save(dataDir + "MapiMsgWithPoll.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.
// Para exemplos completos e arquivos de dados, por favor, acesse https://github.com/aspose-email/Aspose.Email-for-Java
// O caminho para o diretório de arquivos.
String dataDir = "outlook/";
MapiMessage msg = MapiMessage.fromFile(dataDir + "AddVotingButtonToExistingMessage.msg");
for (MapiRecipient recipient : msg.getRecipients()) {
System.out.println("Destinatário: " + recipient.getDisplayName());
// Obter a propriedade PR_RECIPIENT_AUTORESPONSE_PROP_RESPONSE
System.out.println("Resposta: " + recipient.getProperties().get_Item(MapiPropertyTag.PR_RECIPIENT_AUTORESPONSE_PROP_RESPONSE).getString());
// Obter a propriedade PR_RECIPIENT_TRACKSTATUS_TIME
System.out.println("Hora da resposta: " + recipient.getProperties().get_Item(MapiPropertyTag.PR_RECIPIENT_TRACKSTATUS_TIME).getDateTime());
System.out.println();
}
Métodos Exemplo Usados nos Exemplos
O seguinte trecho de código mostra como criar uma mensagem de exemplo usada nos exemplos.
// Para exemplos completos e arquivos de dados, por favor, acesse https://github.com/aspose-email/Aspose.Email-for-Java
public static MapiMessage createTestMessage(boolean draft) {
MapiMessage msg = new MapiMessage("from@test.com", "to@test.com", "Mensagem marcada",
"Faça-a bonita e curta, mas descritiva. A descrição pode aparecer nas páginas de resultados de busca de mecanismos de busca...");
if (!draft) {
msg.setMessageFlags(msg.getFlags() ^ MapiMessageFlags.MSGFLAG_UNSENT);
}
return msg;
}