Como editar “Enviar para Destinatário de E-mail” no Windows XP ou Windows 7

0

O cliente que estou usando é o Windows Live Mail. Resultado desejado:

  1. O usuário clica com o botão direito do mouse em um arquivo e seleciona "Enviar para- > Destinatário do e-mail" (ou outro atalho criado sob medida).
  2. A janela Nova Mensagem do Windows Live Mail aparece e contém:

    Para: endereço de e-mail específico
    Assunto: (vazio)
    Corpo: (vazio)
    O arquivo clicado é anexado

O mais próximo que obtive é criar um atalho na pasta Enviar para com esse destino: C:\Program Files\Windows Live\Mail\wlmail.exe" /mailurl:mailto:[email protected] .

O resultado é que a janela Nova mensagem do Windows Live Mail aparece e contém:

Para: [email protected] "C: \ somefile.txt"
 Assunto: (vazio)
 Corpo: (vazio)

Quase certo, exceto, o arquivo selecionado não está anexado ! É mencionado apenas no campo Para:. Como posso anexá-lo, além de preencher o campo To: automaticamente?

EDIT: "Note que você não pode anexar arquivos a partir da linha de comando" significa que é muito difícil, pelo menos.

    
por Maciej Szpakowski 08.07.2014 / 19:05

1 resposta

0

Infelizmente, pode não haver uma boa maneira de fazer isso, mas abaixo está um script AutoHotKey que basicamente faz o trabalho. Uma visão geral do AutoHotKey da Wikipedia está aqui .

Este script foi testado no Windows 7 com o Windows Live Mail 2012. Embora a maioria das partes iniciais do script (até Run) sejam genéricas, o restante é específico e provavelmente exigirá alterações se outro programa de email gui (por exemplo, Outlook 365, Thunderbird, etc.) é usava.

Expectativas

O roteiro foi escrito com o seguinte em mente ...

  • O AutoHotKey é instalado no PC que está executando o script. Se você quiser transformar o script em um executável autônomo, confira ahk2exe .

  • O script espera um único parâmetro de linha de comando do script AutoHotKey - um endereço de e-mail. Isso permite que um script manipule (potencialmente) diferentes endereços de e-mail.

    Para passar um endereço, um link para cada endereço em potencial deve ser criado da seguinte forma:

    "C: \ Caminho \ Para \ AutoHotkey \ AutoHotkey.exe" "C: \ Caminho \ Para \ Script.ahk" [email protected]

  • Para obter uma ação uniforme e usar parâmetros de linha de comando (que aumentam a confiabilidade do script), o script mata e reinicia o wlmail.exe. Então, se você já está trabalhando com o Windows Live Mail, salve seu trabalho antes de executá-lo!

  • O script usa a área de transferência. Portanto, você deve Control + C o item que deseja anexar antes de executar o script.

Problemas conhecidos

Infelizmente, não sou um Ninja AutoHotKey, então este script pode não ser perfeito. ; -)

No entanto, após alguns dias de testes, o script abaixo era confiável pelo menos 99% do tempo.

  • É possível que você enfrente ocasionalmente problemas de tempo que fazem com que o pressionamento de teclas F10 no script não seja reconhecido pelo Windows Live Mail.

    Isso ocorre principalmente porque o Windows Live Mail não possui métodos mais confiáveis de automação (ou seja, nenhum anexo de linha de comando, interface de faixa não padrão e nenhuma combinação de teclas de atalho para anexar arquivos).

  • Se a janela "Tarefas agendadas" aparecer, isso também pode resultar em problemas.

  • Se o caminho da área de transferência não for válido, você poderá ter que terminar manualmente o script (veja abaixo).

Finalmente, esteja ciente de que, se as ações do script forem interrompidas (você não chegará a um ponto em que o Windows Live Mail é aberto e o item desejado é anexado automaticamente ), você deve procurar na área Início Rápido e certifique-se de desligar essa instância do script, se necessário, antes de tentar novamente.

Script AutoHotKey para automatizar anexos no Windows Live Mail

Use : Copie um item para a área de transferência (Control + C é mais fácil) e clique no link que inicia o script (que também deve passar o nome do destinatário como um parâmetro de linha de comando). )

O texto do script abaixo deve ser copiado / colado em sua totalidade em um arquivo .txt padrão e renomeado com a extensão .ahk (script AutoHotKey).

; -- Functions & Variables --
; A custom to check if a given processes is active 
  ProcessExist(Name){
      Process,Exist,%Name%
      return Errorlevel
  }

; -- Begin Script --

; Command line parameter debug box. 
;MsgBox, The number of command line parameters is %0%. 'n'n The email recipient is %1%

; Check for command line parameters - terminate if we have anything but one. 
If 0 <> 1
{
     MsgBox, You have not specified a valid email address. Script terminating.
     exitapp                        ; Exit our script
 }

; If our clipboard is empty, show a warning
If clipboard =
{
     MsgBox, 4, , Please copy your attachment to the clipboard.'n'nContinue?
     IfMsgBox, No, exitapp          ; Exit our script
}

ClipWait                            ; Wait for the clipboard to contain text.

;Display the last item copied to the clipboard to confirm this is the item we want. 
Loop, parse, clipboard, 'n, 'r
{
    MsgBox, 4, , File number %A_Index% for attachement is located at %A_LoopField%.'n'nEmail recipient is %1%.'n'nContinue?
    IfMsgBox, No, exitapp           ; Quit the AutoHotKey script if the user says no.
}

; Start with a clean Windows Live Mail instance. 
; wlmail.exe may active as a process so we make sure to kill it.

If ProcessExist("wlmail.exe")
    Process, Close, wlmail.exe

Sleep 100                           ; Make sure the process has time to terminate

; Start a fresh wlmail.exe process to send a new email.
; /mailurl:mailto: is part of the wlmail.exe command line options.
Run, "C:\Program Files (x86)\Windows Live\Mail\wlmail.exe" /mailurl:mailto:%1%

; Make sure our New Message window is active
WinWait, New Message, 
IfWinNotActive, New Message, , WinActivate, New Message, 
WinWaitActive, New Message,

; If the script is going to fail, it will be between the TAB TAB F10 4 strokes.

; Double TAB brings us to the body of the message. Otherwise, the address field is the first active
; item and F10 brings up a different menu.
Send, {TAB} {TAB}

; Show the attachment dialog via pressing F10 then 4.
; Increase the Sleep value for better key stroke reliability -- 5000+ recommended.
; Otherwise, Windows Live Mail seems to "miss" the F10 stroke.
Sleep 5000              
Send, {F10}
Send, 4 

; Make sure our Open file dialog is active
WinWait, Open, 
IfWinNotActive, Open, , WinActivate, Open, 
WinWaitActive, Open,  

; Copy our file path from the clipboard and open it
Send, {CTRLDOWN}v{CTRLUP}
Sleep 1000
Send {TAB}{TAB}{Enter}

exitapp                                 ; Exit our script
    
por 10.07.2014 / 16:47