Como capturar o URL da mensagem Mail.app que permanecerá persistente quando a mensagem for movida? -- ail.app campo com applescript camp apple Relacionado O problema

How to capture mail.app message url that will remain persistent when message is moved?


4
vote

problema

português

So Mail.App tem este maravilhoso mensagem: // Esquema de URL, que funciona até que a mensagem seja movida. Então os links criados às vezes funcionam - e às vezes não. Não consigo descobrir a diferença. Então minha pergunta é dupla:

    .
  1. Existe uma maneira de acessar mensagens através de um URL mesmo quando eles se mudaram?
  2. se não, como faço para mover uma mensagem e obter sua mensagem de mensagem?

Meu script atual é

  tell application "Mail"     set theSelectedMessages to selection     set the selected_message to item 1 of the theSelectedMessages     set message_id to the message id of the selected_message     set message_subject to the subject of the selected_message end tell set myPrompt to display dialog "Create New To Do in BusyCal" default answer message_subject set response to the text returned of myPrompt set quick_entry to encode(response & " " & month of (current date) & day of (current date) & "!!!" & " <message:<" & message_id & ">>") -- see encode handler below tell application "BusyCal"     activate     open location "busycalevent://new/-" & quick_entry end tell tell application "Mail"     move the selected_message to mailbox "Calendar" of mailbox " To-Do" of account "Calion" end tell --encode handler on encode(msg)     set theText to do shell script "/usr/bin/python -c 'import sys, urllib; print urllib.quote(sys.argv[1])' " & quoted form of msg     set AppleScript's text item delimiters to "/"     set theTextItems to text items of theText     set AppleScript's text item delimiters to "%2F"     set theText to theTextItems as string     set AppleScript's text item delimiters to {""}     return theText end encode    
english

So mail.app has this wonderful message:// URL scheme, which works greatxe2x80x94until the message is moved. Then links created sometimes workxe2x80x94and sometimes don't. I can't figure out the difference. So my question is twofold:

  1. Is there a way to access messages through a URL even when they've moved?
  2. If not, how do I move a message and then get its message ID?

My current script is

tell application "Mail"     set theSelectedMessages to selection     set the selected_message to item 1 of the theSelectedMessages     set message_id to the message id of the selected_message     set message_subject to the subject of the selected_message end tell set myPrompt to display dialog "Create New To Do in BusyCal" default answer message_subject set response to the text returned of myPrompt set quick_entry to encode(response & " " & month of (current date) & day of (current date) & "!!!" & " <message:<" & message_id & ">>") -- see encode handler below tell application "BusyCal"     activate     open location "busycalevent://new/-" & quick_entry end tell tell application "Mail"     move the selected_message to mailbox "Calendar" of mailbox " To-Do" of account "Calion" end tell --encode handler on encode(msg)     set theText to do shell script "/usr/bin/python -c 'import sys, urllib; print urllib.quote(sys.argv[1])' " & quoted form of msg     set AppleScript's text item delimiters to "/"     set theTextItems to text items of theText     set AppleScript's text item delimiters to "%2F"     set theText to theTextItems as string     set AppleScript's text item delimiters to {""}     return theText end encode 
     

Lista de respostas

5
 
vote
vote
Melhor resposta
 

Resposta curta

message: URLs são Persistentes, mas o email precisa ser reiniciado para que seu banco de dados de ID da mensagem seja atualizado e os URLs sejam devidamente resolvidos.

Você terá que reiniciar o correio antes de usar o busycal. Como alternativa, você pode reiniciar mensagens no seu script.


resposta longa

Após alguns testes notei que:

  • IDs de mensagem não alteram quando uma mensagem é movida :

    O ID da mensagem deste correio de teste localizado na caixa de entrada:

    Digite a descrição da imagem aqui

    não muda depois de movê-lo para o _People caixa de correio:

    Digite a descrição da imagem aqui

  • IDs de mensagem funciona após o correio é reiniciado :

    Após mover a mensagem, o URL message:%3CCA+pHXZSgP12HvSg2sQ9J3ochK2K8xOTk_wEoTf+6WmMcYGYxnw@mail.gmail.com%3E mostra uma mensagem vazia porque o e-mail procura a mensagem na caixa de entrada (pressione comando e clique no ícone do envelope na barra de janela para mostrar o caminho para o caminho vazio Mensagem):

    Digite a descrição da imagem aqui

    Após reiniciar o e-mail, a mensagem é encontrada com sucesso:

    Digite a descrição da imagem aqui

(testado no OS X Mavericks 10.10.4.)

para suas perguntas:

Existe uma maneira de acessar mensagens através de um URL mesmo quando eles se movimentaram?

Sim, reinicie o e-mail para que ele reconstrua seu banco de dados de ID de mensagem interna. Você poderá acessar qualquer mensagem movida em suas novas caixas de correio.

Eu entendo isso é irritante, mas parece ser a única solução alternativa.

se não, como faço para mover uma mensagem e, em seguida, recebo sua mensagem de mensagem?

Isso não é necessário que as IDs de mensagens não mudam.

 

Short answer

message: URLs are persistent, but Mail needs to be restarted so that its message ID database gets updated and the URLs are properly resolved.

You will have to restart Mail before using BusyCal. Alternatively, you could restart Mail in your script.


Long answer

After some tests I noticed that:

  • message IDs don't change when a message is moved:

    The message ID of this test mail located in the Inbox:

    enter image description here

    doesn't change after moving it to the _People mailbox:

    enter image description here

  • message IDs work after Mail is restarted:

    After moving the message, the URL message:%3CCA+pHXZSgP12HvSg2sQ9J3ochK2K8xOTk_wEoTf+6WmMcYGYxnw@mail.gmail.com%3E shows an empty message because Mail looks for the message in the Inbox (press Command and click the envelope icon on the window bar to show the path to the empty message):

    enter image description here

    After restarting Mail, the message is found successfully:

    enter image description here

(Tested on OS X Mavericks 10.10.4.)

To your questions:

Is there a way to access messages through a URL even when they've moved?

Yes, restart Mail so that it rebuilds its internal message ID database. You will be able to access any moved messages in their new mailboxes.

I understand this is annoying but it seems to be the only workaround.

If not, how do I move a message and then get its message ID?

That's not necessary as message IDs don't change.

 
 
         
         

Perguntas relacionadas

1  AppleScript para comparar duas listas de domínios e eliminar duplicatas  ( Applescript to compare two lists of domains and eliminate duplicates ) 
Eu tentei fazer isso com o Automator e achei ... falta. Eu tentei procurar soluções em todos os lugares que eu possa pensar, mas minhas pesquisas continuam me...

0  Convertendo Ação Automático no AppleScript para Bash Script  ( Converting automator action in applescript to bash script ) 
Acabei de escrever um aplicativo automático usando o AppleScript (junto com algumas linhas de bash) para iniciar o FTP com um único clique. No entanto, corre ...

3  Possível automatizar a entrada de classificações de estrelas e play contagens para música idêntica / duplicada no iTunes?  ( Possible to automate entering star ratings and play counts for identical duplica ) 
Estou no processo de substituição de minha baixa qualidade e lt; 192 kpbs mp3s em arquivos MP3 ou ALAC de 320 KPBS no iTunes. Agora, minha rotina é importar...

0  Como posso copiar arquivos para uma unidade montada usando o AppleScript?  ( How can i copy files to a mounted drive using applescript ) 
De que maneira posso copiar pastas para casa (documentos, imagens, filmes, etc ...) para uma unidade montada sem usando a função posix no AppleScript? < /...

3  Usando Automator ou AppleScript para criptografar / descriptografar com OpenSSL  ( Using automator or applescript to encrypt decrypt with openssl ) 
Eu gostaria de saber como usar o Automator ou o AppleScript para criar uma gota que comprima / descompactar (tar.gz) e criptografar / descriptografar com arqu...

0  Expandir o envio de email com o AppleScript  ( Expand sending email with applescript ) 
Eu li com interesse o artigo sobre o envio de um email com base na análise por meio de um arquivo CSV para pegar o nome e endereço de e-mail. Isso parece que ...

5  Um método programático para desativar todos os serviços de compartilhamento?  ( A programmatic method for disabling all sharing services ) 
Estou buscando um método programático para desabilitar todos os serviços de compartilhamento em um Mac. Minha preferência é para um AppleScript ou um script d...

0  No AppleScript ao inserir a senha, é necessário um clique  ( In applescript when entering password is a click required ) 
Estou escrevendo um AppleScript para alternar / desligar uma conexão VPN para um computador. Eu tenho coisas mais ou menos trabalhando, no entanto, tenho qu...

4  Monte automaticamente uma unidade de rede e copie um arquivo para uma pasta de rede (AppleScript)  ( Automatically mount a network drive and copy a file to a network folder applesc ) 
Eu tenho uma tarefa bastante complexa para resolver. Eu não uso o OS X, mas agora eu tenho que fornecer alguns colegas com um aplicativo simples que copia aut...

8  Convertendo HTML para PDF usando o Convert Utility no Mac OS X  ( Converting html to pdf using convert utility in mac os x ) 
Estou tentando converter um monte de arquivos HTML em arquivos PDF. Estou à procura de uma solução automatizada para que não precise abrir cada arquivo HTML i...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.