User Tools

Site Tools


userspace:library:sendmail

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

userspace:library:sendmail [2014/02/11 12:32]
embl-structures
userspace:library:sendmail [2021/08/23 08:37]
Line 1: Line 1:
-====== Library: SendMail ====== 
- 
- 
-Tested with opsi 4.0.2\\ 
-required WInst Version: 4.11.3\\ 
-By //Frank Thommen, 2014/01/10 11:13// 
- 
-This script requires blat which can be downloaded from http://www.blat.net/. 
- 
-Usage instructions see below in UseSendMail.sub 
- 
- 
-Tree:\\ 
-<code> 
-%SCRIPTDRIVE%\lib\ 
-  ├ UseSendMail.sub 
-  ├ SendMail_Variables.opsiinc 
-  ├ SendMail_Functions.opsiinc 
-  └ blat311\ 
-     ├ docs\ 
-     │  └ [...]  
-     └ bin\ 
-        ├ blatdll.h 
-        ├ blat.lib 
-        ├ blat.dll 
-        └ blat.exe 
-</code> 
- 
- 
- 
-=== UseSendMail.sub === 
-<code winst> 
-; 
-; ----------------------------------------------------------- 
-;  UseSendMail.sub - send file, string or stringlist as mail 
-; ----------------------------------------------------------- 
-; 
-; AUTHOR: Frank Thommen, EMBL Heidelberg 
-; SHORTNAME (for variable names): mail 
-; 
-; PREREQUISITE: blat from http://www.blat.net 
-; 
-; 
-; PURPOSE: Send a mail using "blat" The content of the mail 
-;          can be taken from 
-; 
-;            * a stringlist (each element will become a line 
-;              of the mailbody 
-;            * a string (this will result in a one-line mail) 
-;            * a textfile (the content will become the mailbody) 
-; 
-;          The mail subject is user-defined, while sender and 
-;          destination address are harcoded in this version. 
-;          Therefore this version rather qualifies for sending 
-;          status mails to a fixed address rather than being a 
-;          freely configurable mailer.  However this could easily 
-;          be achieved by adding more user-definable variables. 
-; 
-; 
-; USAGE: 
-;          Sub "%SCRIPTDRIVE%\lib\UseSendMail.sub" 
-;          Set $_mail_subject = "Your Mail Subject" 
-; 
-;          Set $_mail.msgtype    = "stringlist" 
-;          Set $_mail.msgstrlist = <some stringlist cmd> 
-;             or 
-;          Set $_mail.msgtype    = "string" 
-;          Set $_mail.msgstring  = "Hello, how are you?" 
-;             or 
-;          Set $_mail.msgtype    = "file" 
-;          Set $_mail.msgfile    = "C:\some\file.txt" 
-; 
-;          Sub_SendMail 
-; 
-; 
-; HISTORY: 10-JAN-2014: Initial version 
-; 
-; 
- 
-include_insert "%SCRIPTDRIVE%\lib\SendMail_Variables.opsiinc" 
-include_append "%SCRIPTDRIVE%\lib\SendMail_Functions.opsiinc" 
-</code> 
- 
- 
-=== SendMail_Variables.opsiinc === 
-<code winst> 
-DefVar $_mail.msgtype 
-DefStringList $_mail.msgstrlist 
-DefVar $_mail.msgstring 
-DefVar $_mail.msgfile 
-DefVar $_mail.msgsubject 
-</code> 
- 
- 
-=== SendMail_Functions.opsiinc === 
-<code winst> 
-[sub_SendMail] 
-if ($_mail.msgtype = "file") 
-  WinBatch_Mail_SendMailFromFile 
-else 
-  if ($_mail.msgtype = "stringlist") 
-    ; avoid error message in case this function is used more then once 
-    ; within script 
-    ScriptErrorMessages = off 
-      DefVar $__mail.msgfile 
-    ScriptErrorMessages = on 
- 
-    ; Create temporary filename and encode to get rid of 
-    ; special characters which might not be allowed in filenames 
-    Set    $__mail.msgfile = "C:\tmp\" + base64EncodeStr(RandomStr) + ".tmpmail" 
- 
-    if ( FileExists($__mail.msgfile) ) 
-      PAUSE "ERROR: File " + $__mail.msgfile + " already exists.  Please inform <YOUR CONTACT HERE> about this error" 
-    else 
-      for %s% in $_mail.msgstrlist do DosInAnIcon_Mail_DumpToFile 
-      if NOT( FileExists($__mail.msgfile) ) 
-        PAUSE "ERROR: Mailfile " + $__mail.msgfile + " could not be created.  Please inform <YOUR CONTACT HERE> about this error" 
-      else 
-        WinBatch_Mail_SendMailFromLocalFile 
-        Files_Mail_DeleteMsgFile 
-      endif 
-    endif 
-  else 
-    if ($_mail.msgtype = "string") 
-      WinBatch_Mail_SendMailFromString 
-    else 
-      PAUSE "ERROR: Unknown Messagetype! Please inform <YOUR CONTACT HERE> about this error" 
-    endif 
-  endif 
-endif 
- 
-; 
-; ---------------------------------------------------------- 
-; 
- 
-[DosInAnIcon_Mail_DumpToFile] 
-IF NOT "%s%"=="" ( 
-  ECHO %s% >> "$__mail.msgfile" 
-) ELSE ( 
-  ECHO.    >> "$__mail.msgfile" 
-) 
- 
- 
-[Files_Mail_DeleteMsgFile] 
-del -f "$__mail.msgfile" 
- 
- 
-[WinBatch_Mail_SendMailFromFile] 
-"%SCRIPTDRIVE%\lib\blat311\bin\blat.exe" "$_mail.msgfile" -serverSMTP smtp.your.domain -f "Name <email@ddress>" -to "Name <email@ddress>" -subject "$_mail.msgsubject" 
- 
- 
-[WinBatch_Mail_SendMailFromString] 
-"%SCRIPTDRIVE%\lib\blat311\bin\blat.exe" - -serverSMTP smtp.your.domain -f "Name <email@ddress>" -to "Name <email@ddress>" -subject "$_mail.msgsubject" -body "$_mail.msgstring" 
- 
- 
-[WinBatch_Mail_SendMailFromLocalFile] 
-"%SCRIPTDRIVE%\lib\blat311\bin\blat.exe" "$__mail.msgfile" -serverSMTP smtp.your.domain -f "Name <email@ddress>" -to "Name <email@ddress>" -subject "$_mail.msgsubject" 
-</code> 
- 
  
userspace/library/sendmail.txt · Last modified: 2021/08/23 08:37 (external edit)