Posielanie mailu s prílohou cez MS Outlook vo VBS pre Windows Shell

AutomatorPomocou Windows Shell vieme odoslať e-mail rôznymi technikami. Nezávislá je použiť priame spojenie na SMTP server po porte 25. Častokrát nám však situácia prikazuje využiť na počítači nainštalovaný MS Outlook. Aj to však vo Windows Shell vieme použiť. Princíp teda je, že si skriptom zautomatizujeme poslanie mailu (s prílohou) v podstate identickou cestou ako keby sme si to klikali priamo v MS Outlook. Automatizácia nám však zmení túto činnosť na kliknutie na naprogramovaný skript, ktorý už vie adresu príjemcu, vie aký súbor má pripojiť k mailu.


Dim Outlook
Set Outlook = CreateObject("Outlook.Application")
Dim Message
Set Message = Outlook.CreateItem(olMailItem)
With Message
.Subject = "NEJAKY PREDMET SPRAVY"
.Body = "TEXT V TELE SPRAVY"
.Attachments.Add ("c:\priklad\nejaky-subor.ext")
.Recipients.Add ("example@example.org")
if Len(aFrom) > 0 Then .Recipients.Add("moja.adresa@example.org").Type = olOriginator
.Send
End With

V kóde vidíte meniteľné záležitosti:
Predmet správy je riadok .Subject, potom telo správy je v .Body, prílohu pridávame príkazom .Attachments.Add (kde aj vidíte, že presne určujem, kde je uložený súbor). Moju adresu ako odosielateľa správy vidíte tiež.
Pokiaľ všetko sedí a meniteľné parametre sme nedomrvili, tak po spustení skriptu na svojom Windows počítači s nakonfigurovaným fungujúcim MS Outlook spôsobí toto:
Spustíte skript, MS Outlook zaprotestuje a musíte skriptu povoliť prístup. Potom zobrazí ďalší dialóg s upozornením a musíte čakať kým ho možno odklepnúť. Toto je ochrana proti rôznym vírusom a trojanom – ak sa totiž začne niečo takéto zobrazovať a netušíte prečo, tak je niečo zle.
Neviem vám poradiť ako „autorizovať“ takýto skript, aby ho MS Outlook bez protestov prijímal bez týchto hlášok. Preto tento skript možno použiť interaktívne na úlohy, ktoré často opakujete a NECHCE sa vám vyklikávať v Outlooku opakovane to isté. Príkladom je pravidelné zasielanie nejakého súboru alebo chcete nejaký rovnaký text posielať rôznym príjemcom. Vtedy by sa oplatilo doplniť skript o dialóg, kde si vypýta skript e-mail príjemcu.

Niečo podobné pomocou Automatora v OS X ukažuje tento článok. Ďalšia inšpirácia je v spojení mailu, automátora a kalendára v OS X.Pokiaľ by som silou mocou chcel podobné „programátorsky“ videné riešenie, tak skúste niečo v AppleScripte.

Written by rony