Senden "an Mail Empfänger" per Batchfile individualisieren
Wenn man unter Windows eine Datei rechts anklickt, gibt es (wenn alles richtig funktioniert!) die Option, sie per E-Mail zu versenden. Eigentlich eine gute Sache, wenn sie nicht so unflexibel wäre und wenn uns der standartmäßige Email Client nicht mit Binsenweisheiten beglücken würde, wie "Folgende Dateien oder Links können jetzt als Anlage mit Ihrer Nachricht gesendet werden:"
Der Menu-Eintrag, der diese Option anbietet, ist im Verzeichnis "%appdata%\Microsoft\Windows\SendTo" als Datei "Mail Recipient.MAPIMail" bzw. "E-Mail-Empfänger.MAPIMail" abgelegt.
Die Idee ist nun, diese Datei durch einen Link auf eine oder sogar mehrere Batch-Dateien - für jedes Mailprogramm eine - zu ersetzen.
Die Vorteile:
- ich habe die Auswahl, welchen Mail-Client ich jeweils benutzen möchte
- ich kann die Vorgaben für "Betreff", "E-Mail-Text" etc. frei bestimmen
- ich muss nicht in der Registry herummurkeln
- die Scripts dazu sind denkbar einfach
- ich kann beliebige andere Optionen hinzufügen, z.B. "Mail per Firefox": 1. PDF-Verzeichnis (Ablageort der zu versendenden Datei) öffnen, 2. Firefox mit meinem MailPortal öffnen für manuelle Ausführungen.
Der Vorgang: Ich erstelle (eine) entsprechende Batch-Datei(en) und lege den/die Link(s) darauf im Verzeichnis "%appdata%\Microsoft\Windows\SendTo" ab. Anschließend benenne ich sie um in z.B. "Mail per Outlook" oder "Mail per Thunderbird". Diese Namen erscheinen dann als Option(en) im Rechts-Klick-Menu jeder beliebigen Datei.
Beispiel Outlook: (ablegen als "outmail.bat")
startet Outlook mit der Datei im Anhang.
Beispiel Thunderbird: (ablegen als "thundmail.bat")
startet Thunderbird mit der Datei im Anhang und dem Dateinamen im Betreff.
Viel Spass beim Experimentieren!
Gruß
knurrhahn
Der Menu-Eintrag, der diese Option anbietet, ist im Verzeichnis "%appdata%\Microsoft\Windows\SendTo" als Datei "Mail Recipient.MAPIMail" bzw. "E-Mail-Empfänger.MAPIMail" abgelegt.
Die Idee ist nun, diese Datei durch einen Link auf eine oder sogar mehrere Batch-Dateien - für jedes Mailprogramm eine - zu ersetzen.
Die Vorteile:
- ich habe die Auswahl, welchen Mail-Client ich jeweils benutzen möchte
- ich kann die Vorgaben für "Betreff", "E-Mail-Text" etc. frei bestimmen
- ich muss nicht in der Registry herummurkeln
- die Scripts dazu sind denkbar einfach
- ich kann beliebige andere Optionen hinzufügen, z.B. "Mail per Firefox": 1. PDF-Verzeichnis (Ablageort der zu versendenden Datei) öffnen, 2. Firefox mit meinem MailPortal öffnen für manuelle Ausführungen.
Der Vorgang: Ich erstelle (eine) entsprechende Batch-Datei(en) und lege den/die Link(s) darauf im Verzeichnis "%appdata%\Microsoft\Windows\SendTo" ab. Anschließend benenne ich sie um in z.B. "Mail per Outlook" oder "Mail per Thunderbird". Diese Namen erscheinen dann als Option(en) im Rechts-Klick-Menu jeder beliebigen Datei.
Beispiel Outlook: (ablegen als "outmail.bat")
@echo off
rem Uebernimmt die Pfadbezeichnung zu dieser Datei:
set filepath=%1
start outlook.exe /a "%filepath%"
Beispiel Thunderbird: (ablegen als "thundmail.bat")
@echo off
rem Uebernimmt die Pfadbezeichnung zu dieser Datei:
set filepath=%1
rem Uebernimmt den Namen dieser Datei
for %%F in ("%filepath%") do set filename=%%~nxF
"C:\Program Files\Mozilla Thunderbird\thunderbird.exe" -compose "to='',subject='%filename%',preselectid='id1',body='',attachment='%filepath%'"
Viel Spass beim Experimentieren!
Gruß
knurrhahn
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 671558
Url: https://administrator.de/tutorial/senden-an-mail-empfaenger-per-batchfile-individualisieren-671558.html
Ausgedruckt am: 22.02.2025 um 05:02 Uhr
6 Kommentare
Neuester Kommentar
Als Ergänzung:
Outlook (Classic) lässt sich ja auch per COM ansprechen da kann man dann auch sämtliche Eigenschaften der Mail vorher nach Gusto anpassen, per Link zu einer VBS im SendTo Ordner z.B. so
Verfügbare Eigenschaften und Methoden können hier nachgeschlagen werden:
MailItem-Objekt (Outlook)
Gruß m.
Outlook (Classic) lässt sich ja auch per COM ansprechen da kann man dann auch sämtliche Eigenschaften der Mail vorher nach Gusto anpassen, per Link zu einer VBS im SendTo Ordner z.B. so
With CreateObject("Outlook.Application").CreateItem(0)
.subject = "Betreff hier"
.to = "user@domain.de"
.htmlbody = "Mailbody hier"
if wscript.Arguments.Count > 0 then
for i = 0 to wscript.arguments.Count - 1
.Attachments.Add wscript.arguments(i)
next
end if
.Display
' to send directly instead of showing mail, comment the line above and uncomment the following
'.Send
End with
MailItem-Objekt (Outlook)
Gruß m.
Zitat von @mediodia:
Outlook lässt sich ja auch per COM ansprechen
Es fehlt die wichtige Ergänzung, dass dies nicht für das neue Outlook gilt
Done.