So bearbeiten Sie "Send to Mail Recipient" unter Windows XP oder Windows 7

1173
Maciej Szpakowski

Der Client, den ich verwende, 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 Windows Live Mail-Fenster "Neue Nachricht" wird angezeigt und enthält Folgendes:

    An: spezifische E-Mail-Adresse
    Betreff: (leer)
    Hauptteil: (leer) Die
    angeklickte Datei wird angehängt

Der nächstgelegene ich bekam ist Abkürzung in Senden zu schaffen mit einem solchen Ziel Ordner: C:\Program Files\Windows Live\Mail\wlmail.exe" /mailurl:mailto:123@live.com.

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

An: 123@live.com "C: \ somefile.txt"
Betreff: (leer) Text
: (leer)

Fast richtig, außer dass die ausgewählte Datei nicht angehängt ist ! 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 aus anhängen können". Dies bedeutet, dass dies zumindest sehr schwierig ist.

0
Ist WLM als Standard-E-Mail-Programm festgelegt? CharlieRB vor 9 Jahren 0
Ja, wenn ich auf "Senden an -> Empfänger-E-Mail" klicke, funktioniert es normal, aber es gibt ein paar bs im Hauptteil und die Betreffs sind immer als E-Mail: Datei gesetzt Maciej Szpakowski vor 9 Jahren 0

1 Antwort auf die Frage

0
Anaksunaman

Leider gibt es keine gute Möglichkeit, dies zu tun, aber unten ist ein AutoHotKey- Skript, das die Arbeit meistens erledigt. Eine Übersicht über AutoHotKey von Wikipedia finden Sie hier .

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

Erwartungen

Das Skript wurde im Hinblick auf Folgendes geschrieben:

  • AutoHotKey ist 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, überprüfen Sie ahk2exe .

  • Das Skript erwartet einen einzigen AutoHotKey-Skriptbefehlszeilenparameter - eine E-Mail-Adresse. Dadurch kann ein Skript (möglicherweise) verschiedene E-Mail-Adressen verarbeiten.

    Um eine Adresse zu übergeben, muss für jede potenzielle Adresse ein Link wie folgt erstellt werden:

    "C: \ Pfad \ To \ AutoHotkey \ AutoHotkey.exe" "C: \ Pfad \ To \ Script.ahk" jemand@somewhere.com

  • Um eine einheitliche Aktion und die Verwendung von Befehlszeilenparametern (die die Zuverlässigkeit des Skripts erhöhen) zu beenden, wird das Skript beendet und anschließend die Datei wlmail.exe neu gestartet. Wenn Sie also bereits mit Windows Live Mail arbeiten, speichern Sie Ihre Arbeit, bevor Sie sie ausführen!

  • Das Skript verwendet die Zwischenablage. Daher sollten Sie das Element, das Sie anhängen möchten, mit Strg + C steuern, bevor Sie das Skript ausführen.

Bekannte Probleme

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

Nach einigen Testtagen war das untenstehende Skript jedoch zu mindestens 99% zuverlässig.

  • Es kann vorkommen, dass zeitweise Probleme auftreten, die dazu führen, dass der F10-Tastendruck im Skript von Windows Live Mail nicht erkannt wird.

    Dies liegt vor allem daran, dass Windows Live Mail über zuverlässigere Methoden zur Automatisierung verfügt (dh keine Befehlszeilenanhänge, keine Standard-Ribbon-Schnittstelle und keine Tastenkombination zum Anhängen von Dateien).

  • Wenn das Fenster "Geplante Tasks" angezeigt wird, kann dies ebenfalls zu Problemen 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 die Aktionen des Skripts unterbrochen werden (wenn Sie Windows Live Mail nicht öffnen und das gewünschte Objekt automatisch angehängt wird ), sollten Sie den Schnellstartbereich betrachten und sicherstellen, dass er geschlossen wird Falls erforderlich, diese Instanz des Skripts herunterfahren, bevor Sie es erneut versuchen.

AutoHotKey-Skript zum Automatisieren von Anlagen in Windows Live Mail

Verwendung : Kopieren Sie ein Element in die Zwischenablage (Control + C ist am einfachsten), und klicken Sie dann auf den Link, mit dem das Skript gestartet wird (der auch den Namen des Empfängers als Befehlszeilenparameter übergeben soll.)

Der folgende Skripttext sollte vollständig in eine Standard-TXT-Datei kopiert / eingefügt und mit der Erweiterung .ahk (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,   ; 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,  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, v Sleep 1000 Send   exitapp ; Exit our script 
"Paar Testtage"? Wow thx, ich überprüfe es morgen, um zu sehen, ob es gültig ist. Ich habe vorher nicht an AHK gedacht, aber es könnte die einzige Lösung sein. Programmieren von MAPI hat mich nirgendwo gebracht :( Maciej Szpakowski vor 9 Jahren 0
Naja ... ein paar faule Tage :-) Aber ja, wahrscheinlich hätte ich auch so etwas wie MAPI ausprobiert, aber WLM scheint in diesem Fall einfach ungeeignet zu sein. : - / Anaksunaman vor 9 Jahren 0
@Maciej Szpakowski Ich bin mir nicht sicher, ob es seit Ihrer Veröffentlichung in Windows Live Mail für die Rechnung geeignet wäre. Sie können jedoch diese CDO-basierten AHK-Skripts für das Mailing prüfen, wenn Sie an MAPI-bezogenem Material interessiert sind. Beide haben Verbindungsschnittstellen / -pfade - http://www.autohotkey.com/board/topic/36522-cdo-com-email-delivery/ und http://www.autohotkey.com/board/topic/60813-cdo -com-email-delivery-ahk-l / Anaksunaman vor 9 Jahren 0