So bearbeiten Sie „An E-Mail-Empfänger senden“ unter Windows XP oder Windows 7

So bearbeiten Sie „An E-Mail-Empfänger senden“ unter Windows XP oder Windows 7

Der von mir verwendete Client ist Windows Live Mail. Gewünschtes Ergebnis:

  1. Der Benutzer klickt mit der rechten Maustaste auf eine Datei und wählt „Senden an -> E-Mail-Empfänger“ (oder eine andere benutzerdefinierte Verknüpfung).

  2. Das Fenster „Neue Nachricht“ von Windows Live Mail wird geöffnet und enthält:

    An: bestimmte E-Mail-Adresse
    Betreff: (leer)
    Text: (leer)
    Die angeklickte Datei ist angehängt

Das Naheliegendste, was ich erreicht habe, ist die Erstellung einer Verknüpfung im Ordner „Senden an“ mit dem Ziel: .C:\Program Files\Windows Live\Mail\wlmail.exe" /mailurl:mailto:[email protected]

Das Ergebnis ist, dass das Fenster „Neue Nachricht“ von Windows Live Mail angezeigt wird und Folgendes enthält:

Zu:[email geschützt]"C:\somefile.txt"
Betreff: (leer)
Text: (leer)

Fast richtig, außer,die ausgewählte Datei ist nicht angehängt! Es wird nur im Feld „An:“ erwähnt.Wie kann ich es anhängen und gleichzeitig das To:Feld automatisch ausfüllen?

BEARBEITEN: „Beachten Sie, dass Sie keine Dateien von der Befehlszeile anhängen können“ bedeutet, dass es zumindest sehr schwierig ist.

Antwort1

Leider gibt es dafür keine gute Möglichkeit, aber unten finden Sie eineAutoHotkeySkript, das die Arbeit größtenteils erledigt.Eine Übersicht über AutoHotkey aus Wikipedia finden Sie hier.

Dieses Skript wurde unter Windows 7 mit Windows Live Mail 2012 getestet. Während die meisten Anfangsteile des Skripts (bis zu Run) allgemein gehalten sind, ist der Rest spezifisch und erfordert wahrscheinlich Änderungen, wenn ein anderes GUI-E-Mail-Programm (z. B. Outlook 365, Thunderbird usw.) verwendet wird.

Erwartungen

Beim Verfassen des Skripts wurde Folgendes berücksichtigt ...

  • AutoHotkey wird auf dem PC installiert, auf dem das Skript ausgeführt wird. Wenn Sie das Skript in eine eigenständige ausführbare Datei umwandeln möchten, lesen Sieahk2exe.

  • Das Skript erwartet eine einzigeAutoHotkey-Skript-Befehlszeilenparameter— eine E-Mail-Adresse. Dadurch kann ein Skript (möglicherweise) verschiedene E-Mail-Adressen verarbeiten.

Um eine Adresse weiterzugeben, muss für jede potentielle Adresse ein Link wie folgt erstellt werden:

"C:\Path\To\AutoHotkey\AutoHotkey.exe" "C:\Path\To\Script.ahk"  [email protected]
  • Um eine einheitliche Aktion zu gewährleisten und Befehlszeilenparameter zu verwenden (die die Skriptzuverlässigkeit erhöhen), wird das Skript beendet und dann neu gestartet wlmail.exe. Wenn Sie also bereits mit Windows Live Mail arbeiten, speichern Sie Ihre Arbeit, bevor Sie es ausführen!

  • Das Skript verwendet die Zwischenablage. Daher sollten Sie vor dem Ausführen des Skripts das anzuhängende Element mit Ctrl+ markieren .C

Bekannte Probleme

Leider bin ich kein AutoHotkey-Ninja, daher ist dieses Skript möglicherweise nicht perfekt. ;-)

Nach einigen Testtagen war das folgende Skript jedoch in mindestens 99 % der Fälle zuverlässig.

  • Es kann vorkommen, dass gelegentlich Probleme mit der Zeit auftreten, die dazu führen,Tastendruck F10im Skript wird von Windows Live Mail nicht erkannt.

Dies liegt hauptsächlich daran, dass es in Windows Live Mail an zuverlässigeren Automatisierungsmethoden mangelt (z. B. keine Befehlszeilen-Anhänge, keine nicht standardmäßige Ribbon-Oberfläche und keine Hotkey-Kombination zum Anhängen von Dateien).

  • Wenn das Fenster „Geplante Aufgaben“ angezeigt wird, kann dies ebenfalls zu Störungen führen.

  • Wenn der Pfad aus der Zwischenablage nicht gültig ist, müssen Sie das Skript möglicherweise manuell beenden (siehe unten).

Beachten Sie schließlich, dass, wenn die Aktionen des Skripts unterbrochen werden (Sie kommen nicht an einen Punkt, an dem Windows Live Mail geöffnet wird),und das gewünschte Element wird automatisch angehängt), sollten Sie den Bereich „Schnellstart“ überprüfen und sicherstellen, dass Sie die Skriptinstanz ggf. beenden, bevor Sie es erneut versuchen.

AutoHotkey-Skript zum Automatisieren von Anhängen in Windows Live Mail

Verwenden

Kopieren Sie ein Element in die Zwischenablage ( Ctrl+ Cist am einfachsten) und klicken Sie dann auf den Link, der das Skript startet (das auch den Namen des Empfängers als Befehlszeilenparameter übergeben sollte).

Der folgende Skripttext sollte vollständig in eine Standarddatei kopiert/eingefügt .txtund mit der .ahkErweiterung (AutoHotkey-Skript) umbenannt werden.

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

verwandte Informationen