Я использую клиент Windows Live Mail. Желаемый результат:

  1. Пользователь щелкает правой кнопкой мыши по файлу и выбирает «Отправить»> «Получатель почты» (или другой пользовательский ярлык)
  2. Откроется окно Новое сообщение Windows Live Mail, содержащее:

    Кому: конкретный адрес электронной почты
    Тема: (пусто)
    Тело: (пусто)
    Нажал файл прилагается

Самое близкое, что я получил, - это создание ярлыка в папке «Отправить» с такой целью: C:\Program Files\Windows Live\Mail\wlmail.exe" /mailurl:mailto:123@live.com .

В результате появляется окно «Новое сообщение» Windows Live Mail, которое содержит:

To: 123@live.com "C:\somefile.txt"
Тема: (пусто)
Тело: (пусто)

Почти верно, за исключением того, что выбранный файл не прикреплен ! Это упоминается только в поле To:. Как я могу прикрепить его, одновременно заполняя поле To: автоматически?

РЕДАКТИРОВАТЬ: «Обратите внимание, что вы не можете прикрепить файлы из командной строки», это означает, что это по крайней мере очень сложно.

1 ответ1

0

К сожалению, не может быть хорошего способа сделать это, но ниже приведен скрипт AutoHotKey, который в основном выполняет свою работу. Обзор AutoHotKey из Википедии находится здесь.

Этот скрипт был протестирован на Windows 7 с Windows Live Mail 2012. Хотя большинство начальных частей сценария (вплоть до «Выполнить») являются общими, остальные являются конкретными и, вероятно, потребуют изменений, если будет использоваться другая программа электронной почты с графическим интерфейсом (например, Outlook 365, Thunderbird и т.д.).

ожидания

Сценарий был написан с учетом следующего ...

  • AutoHotKey устанавливается на ПК, на котором выполняется скрипт. Если вы хотите превратить скрипт в автономный исполняемый файл, посмотрите ahk2exe.

  • Скрипт ожидает один параметр командной строки скрипта AutoHotKey - адрес электронной почты. Это позволяет одному сценарию обрабатывать (потенциально) разные адреса электронной почты.

    Чтобы передать адрес, ссылка для каждого потенциального адреса должна быть создана следующим образом:

    "C:\Path\To\AutoHotkey\AutoHotkey.exe" "C:\Path\To\Script.ahk" somebody@somewhere.com

  • Для единообразного действия и использования параметров командной строки (которые повышают надежность скрипта) скрипт убивает, а затем перезапускает wlmail.exe. Так что, если вы уже работаете с Windows Live Mail, сохраните свою работу, прежде чем запускать ее!

  • Скрипт использует буфер обмена. Следовательно, вы должны нажать Control+C на элемент, который вы хотите прикрепить, прежде чем запускать скрипт.

Известные вопросы

К сожалению, я не AutoHotKey Ninja, поэтому этот скрипт может быть не идеальным. ;-)

Однако после нескольких дней тестирования приведенный ниже сценарий был надежным как минимум 99% времени.

  • Возможно, у вас иногда возникают проблемы с синхронизацией, которые приводят к тому, что нажатие клавиши F10 в сценарии не распознается Windows Live Mail.

    Это происходит главным образом из-за того, что в Windows Live Mail отсутствуют более надежные методы автоматизации (т. Е. Нет вложения в командной строке, нестандартного ленточного интерфейса и комбинации горячих клавиш для вложения файлов).

  • Если появится окно "Запланированные задачи", это также может привести к сбоям.

  • Если путь из буфера обмена недопустим, возможно, вам придется вручную завершить сценарий (см. Ниже).

Наконец, имейте в виду, что если действия сценария прерываются (вы не попадаете в точку, в которой Windows Live Mail открывается и нужный элемент автоматически присоединяется), вам следует взглянуть на область быстрого запуска и обязательно закрыть при необходимости запустите этот экземпляр скрипта, прежде чем пытаться снова.

Скрипт AutoHotKey для автоматизации вложений в Windows Live Mail

Использование: Скопировать элемент в буфер обмена (Control+C - самый простой), затем щелкнуть ссылку, которая запускает сценарий (который также должен передать имя получателя в качестве параметра командной строки).

Приведенный ниже текст сценария должен быть полностью скопирован / вставлен в стандартный файл .txt и переименован с расширением .ahk (сценарий 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .