21. január 2010 07.55 E-MAIL

VBS: odoslanie HTML emailu s obrázkom cez SMTP

Predvediem Vám odladený krátky skript pre Windows Shell (nasledovník .bat skriptov) napísaný vo Visual Basic (.vbs), ktorý dokáže odoslať HTML mail s vloženým obrázkom. Poskladal som to z príkladov ako vo VBS odoslať mail, ako vložiť HTML telo a hlavne som odladil vloženie obrázku. Strávil som nad tým významnejší čas a nevidím dôvod Vám ho neposkytnúť.

Skript si načíta textový súbor so zoznamom e-mailových adries a postupne každej z nich pošle separátny mail (miesto toho, aby som zoznam adries vložil do skrytej kópie sa teda zdanlivo nelogicky posielajú maily takto - je to cesta k ďalšiemu rozširovaniu skriptu).

Samotné telo v HTML je tiež v samostatnom súbore, takže si môžete separátne poskladať HTML kód tela správy. Nechcelo sa mi riešiť spracovanie obrázkov, takže v skripte je "natvrdo" ukážka ako pridať JEDEN obrázok. V HTML kóde vidíte potom aj ako sa to zapíše pomocou značky IMG.

V skripte vidíte cestu D:\mailing - buď všetky súbory uložte sem alebo ju v skripte zmeňte.

Skript: uložte ho napríklad do D:\mailing ako mailing.vbs

Set fso = CreateObject("Scripting.FileSystemObject")
Set listFile = fso.OpenTextFile("zoznam.txt")
Dim contentId
Dim objImage
do while not listFile.AtEndOfStream

Set objMessage = CreateObject("CDO.Message")
' Adresa odosielatela
objMessage.From = "odosielatel@example.org"
objMessage.To = listFile.ReadLine()

' Predmet spravy
objMessage.Subject = "HTML email pre " & objMessage.To
objMessage.TextBody = "Mail nie je mozne zobrazit."

' Súbor s HTML kódom tela e-mailu
objMessage.CreateMHTMLBody "file://D:\mailing\body.htm"

' Priloha - obrazok - premenujte ho podla seba - 100percent.gif
Set objBP = objMessage.AddRelatedBodyPart("file://D:\mailing\100percent.gif", "100percent.gif", CdoReferenceTypeName)

objBP.Fields.Item("urn:schemas:mailheader:Content-ID") = "<100percent.gif>"

objBP.Fields.Update

objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

' Sem vlozte adresu SMTP servera
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "SMTPserver"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Update

objMessage.Send

loop

body.htm je telo HTML mailu bez hlavičiek (nemali by ste použiť značky html, head, title, body a pod.).

Obrázok v tomto súbore môžeme teda umiestniť pomocou značky IMG a to takto:

<img src='cid:100percent.gif' width=126 height=50>

vidíte, že v SRC je zvlášť formátovaná adresa k obrázku. Začína kódom cid: a nasleduje pomenovanie obrázku. V kóde skriptu som musel zvlášť vložiť prílohu pod presne definovaným menom (inak to VBS pomenuje náhodným reťazcom). Preto som použil tri riadky začínajúce objBP. Normálne prílohy sa totiž vkladajú jedným príkazom pre VBS.

zoznam.txt je skutočne jednoduchý textový súbor, je možné si to skomplikovať napríklad načítavaním z XLS, databázy a podobne - to sa dá aj dohľadať na webe.

Skript by mal bežať v podstate na všetkých Windows (interpreter VBS pre WSH má už Windows XP).

Samozrejme pre úspešné odoslanie potrebujete SMTP server ale to je už iná kapitola a pokiaľ netušíte aké podmienky by mal SMTP server spĺňať, tak tento skript nie je pre Vás.


Skript poskytujem ľuďom so znalosťou HTML, SMTP komunikácie a aspoň čiastočným povedomím o WSH a VBS. Pokiaľ o niečom z vymenovaného nemáte ani tušenia, tak neriskujte.

  • .vbs: skripty pre Windows Shell priamo spustiteľné v prostredí Windows, sofistikovaný nástroj pre automatizovanie rôznych operácií,
  • SMTP: protokol určený ku komunikácii klienta s poštovým serverom a na odosielanie e-mailovej správy,
  • HTML: značkovací jazyk pre formátovanie dokumentov na webe,
  • Windows: známy operačný systém spoločnosti Microsoft.

Nezodpovedám za blbosti, ktoré spáchate ani za všetky možné dôsledky použitia tohto skriptu. Veľmi vážne upozorňujem na predošlý odstavec a na to, že Vy použitím tohto skriptu preberáte zodpovednosť za všetky následky.

K tomuto článku a skriptu môžete mať pripomienky ale nemôžete mať žiadne výhrady, požiadavky ani nemiestne poznámky. Skript je uverejnený ako inšpirácia.


Pokiaľ sa ti zdá, že tento článok by sa hodil do výberu zaujímavých stránok, tak ho sme.sk pošli do vybrali.sme.sk

Komentáre k obsahu príspevku:

Chcete napísať nesúhlasný komentár? Prosím, zvážte nasledovné: je šanca, aby niekto zmenil Váš názor alebo chcete iba trvať na svojom? V prvom prípade sú Vaše slová vítané.

Chcete urážať? Nepíšte sem urážky a invektívy. Každý, kto na týchto stránkach publikuje je automaticky (doplňte vhodný výraz). Takže už to všetci vopred vieme, čo si myslíte a preto sa neopakujte.

Zmena od 1.2.2010: Komentovať môžete už iba prostredníctvom IntenseDebate (dolenižšie). Odporúčam Vám registráciu, čo prinesie výhody v nemoderovanom prístupe (nemusím Vám schvaľovať komentáre).

  1. A tvoj názor?




Čítal som

  • Jebal pes SNS 11.35 Jebal pes SNS by sa malo stať mantrou nielen vtipných študentov, ale v prvom rade mienkotvorných médií, aby konečne pochopili, že aké monštrum tu už dosť dlho vytvárajú a ako si ho hýčkajú vo svetlách reflektorov. SNS si jednoducho stačí nevšímať – to je celé tajomstvo, milí moji synovci. Najskôr budú stupňovať a keď stále nič, roztrhne ich od jedu, čo si teda zaslúži jeden menší stĺpček, ako peknú bodku za niekým, kto sa rozhodol, že nám spraví toľko hanby, koľko pozornosti mu doprajeme.
  • Vlivní a rychlí o řidičák v Praze nepřijdou. Znají systém „omluvenek“ 10.51 Tam, kde je omezená rychlost na 50 kilometrů v hodině, jedete dvakrát tolik. Zaměří vás radar, policisté vás na místě zastaví a chtějí po vás papíry. Dál už vás řeší dopravní odbor magistrátu. Patříte-li k vlivným lidem, máte šanci, že si řidičský průkaz uhájíte, přestože byste o něj podle zákona měli přijít. Stačí jen využít důmyslného systému "omluvenek".
  • Začína sa najúžasnejšia sezóna F1 09.10 Zabudnite na taktiku. Bude minimálna. Vymýšľať už môžete, len kedy a aké pneumatiky si dať. Odteraz v efjednotke platí zákaz dopĺňania paliva.
  • Čo riskujú politickí blogeri 07.42 V snahe živiť svoje weby ako aj umožniť verejnú diskusiu si významné médiá pustili zápisky politikov na svoje hlavné stránky. V dobe online médií je dobrý bloger na nezaplatenie. Zlý bloger však vie vyjsť pekne draho. A reč rozhodne nie je len o peniazoch. Správať sa kultivovane by preto malo byť v prvom rade v záujme blogerov – agitátorov.
  • Průvodce typografií na webu | Interval.cz 10.36 Článek A Guide To Typography On The Web lze označit za rychlého průvodce typografií na webu. Popisuje problematiku fontů, řekne vám, které fonty lze bezpečně používat pro web, zabývá se čitelností text a na závěr nechybí stručné pojednání o budoucnosti webové typografie.
  • Nové zprávy o iPadu 08.03 Jinými slovy, aplikace iPhonu na iPadu jsou „docela dobré“, nikoli však „to pravé“. Většina firem by se sice bez potíží spokojila s „docela dobrým“, jenže Apple vždy chce „to pravé“ (zřejmě se opět projevil známý Jobsův perfekcionismus, co se týče takovýchto detailů).
  • Slovenské Amslico má nového majiteľa 08.23 uvidime
  • Počiatek chystá superweb | spravy.HNonline.sk - Ekonomika 23.07 Minister financií Ján Počiatek (Smer-SD) bude mať najdrahšiu internetovú stránku.
  • Sygic Aura - GPS blog.sk 23.30 Sygic Aura bude najskôr dostupná cez AppStore pre majiteľov iPhonov, neskôr však budú na trh uvoľnené aj verzie pre operačné systémy Symbian, Windows Mobile, Android ale aj pre Linux. Aura sa bude predávať v rôznych mapových verziách počnúc Európou (43 krajín), cez Severnú Ameriku (U.S.A., Kanada, Mexico), Juhovýchodnú Áziu (Indonézia, Malajzia, Singapúr, Thajsko, Brunei, Filipíny), krajiny Golfksého zálivu, Hong-kong, Macau, Taiwan končiac Brazíliou.
  • Čo chystá Sygic? 15.02 Na HNonline.sk vyšiel dnes rozhovor s Michalom Štenclom, zakladateľom a šéfom spoločnosti Sygic, ktorý nedávno získal ocenenie Podnikateľ roka. Michal si zaspomínal na ťažké začiatky bez peňazí :


kde to ste?

príspevky

média


Späť na obsah