wiki:Documentation/ARexxAPI/MAILWRITE

Version 5 (modified by Jens Maus, 4 years ago) (diff)

Languages:

ARexx Function List

  1. Documentation/ARexxAPI/ADDRDELETE
  2. Documentation/ARexxAPI/ADDREDIT
  3. Documentation/ARexxAPI/ADDRFIND
  4. Documentation/ARexxAPI/ADDRGOTO
  5. Documentation/ARexxAPI/ADDRINFO
  6. Documentation/ARexxAPI/ADDRLOAD
  7. Documentation/ARexxAPI/ADDRNEW
  8. Documentation/ARexxAPI/ADDRRESOLVE
  9. Documentation/ARexxAPI/ADDRSAVE
  10. Documentation/ARexxAPI/APPBUSY
  11. Documentation/ARexxAPI/APPNOBUSY
  12. Documentation/ARexxAPI/FINDMAIL
  13. Documentation/ARexxAPI/FLUSHINDEXES
  14. Documentation/ARexxAPI/FOLDERINFO
  15. Documentation/ARexxAPI/GETCONFIGINFO
  16. Documentation/ARexxAPI/GETFOLDERINFO
  17. Documentation/ARexxAPI/GETMAILINFO
  18. Documentation/ARexxAPI/GETSELECTED
  19. Documentation/ARexxAPI/GETURL
  20. Documentation/ARexxAPI/HELP
  21. Documentation/ARexxAPI/HIDE
  22. Documentation/ARexxAPI/INFO
  23. Documentation/ARexxAPI/ISONLINE
  24. Documentation/ARexxAPI/LISTFREEZE
  25. Documentation/ARexxAPI/LISTSELECT
  26. Documentation/ARexxAPI/LISTUNFREEZE
  27. Documentation/ARexxAPI/MAILARCHIVE
  28. Documentation/ARexxAPI/MAILBOUNCE
  29. Documentation/ARexxAPI/MAILCHANGESUBJECT
  30. Documentation/ARexxAPI/MAILCHECK
  31. Documentation/ARexxAPI/MAILCOPY
  32. Documentation/ARexxAPI/MAILDELETE
  33. Documentation/ARexxAPI/MAILEDIT
  34. Documentation/ARexxAPI/MAILEXPORT
  35. Documentation/ARexxAPI/MAILFILTER
  36. Documentation/ARexxAPI/MAILFORWARD
  37. Documentation/ARexxAPI/MAILIMPORT
  38. Documentation/ARexxAPI/MAILINFO
  39. Documentation/ARexxAPI/MAILMOVE
  40. Documentation/ARexxAPI/MAILREAD
  41. Documentation/ARexxAPI/MAILREPLY
  42. Documentation/ARexxAPI/MAILSEND
  43. Documentation/ARexxAPI/MAILSENDALL
  44. Documentation/ARexxAPI/MAILSTATUS
  45. Documentation/ARexxAPI/MAILUPDATE
  46. Documentation/ARexxAPI/MAILWRITE
  47. Documentation/ARexxAPI/NEWMAILFILE
  48. Documentation/ARexxAPI/QUIT
  49. Documentation/ARexxAPI/READCLOSE
  50. Documentation/ARexxAPI/READINFO
  51. Documentation/ARexxAPI/READPRINT
  52. Documentation/ARexxAPI/READSAVE
  53. Documentation/ARexxAPI/REQUEST
  54. Documentation/ARexxAPI/REQUESTFILE
  55. Documentation/ARexxAPI/REQUESTFOLDER
  56. Documentation/ARexxAPI/REQUESTSTRING
  57. Documentation/ARexxAPI/RESTART
  58. Documentation/ARexxAPI/SCREENTOBACK
  59. Documentation/ARexxAPI/SCREENTOFRONT
  60. Documentation/ARexxAPI/SETFLAG
  61. Documentation/ARexxAPI/SETFOLDER
  62. Documentation/ARexxAPI/SETMAIL
  63. Documentation/ARexxAPI/SETMAILFILE
  64. Documentation/ARexxAPI/SHOW
  65. Documentation/ARexxAPI/USERINFO
  66. Documentation/ARexxAPI/WRITEATTACH
  67. Documentation/ARexxAPI/WRITEBCC
  68. Documentation/ARexxAPI/WRITECC
  69. Documentation/ARexxAPI/WRITEEDITOR
  70. Documentation/ARexxAPI/WRITEFROM
  71. Documentation/ARexxAPI/WRITEIDENTITY
  72. Documentation/ARexxAPI/WRITELETTER
  73. Documentation/ARexxAPI/WRITEMAILTO
  74. Documentation/ARexxAPI/WRITEOPTIONS
  75. Documentation/ARexxAPI/WRITEQUEUE
  76. Documentation/ARexxAPI/WRITEREPLYTO
  77. Documentation/ARexxAPI/WRITESEND
  78. Documentation/ARexxAPI/WRITESUBJECT
  79. Documentation/ARexxAPI/WRITETO

MAILWRITE

NAME
MailWrite — Open a new Write window or activate one already opened. (V1.3)
TEMPLATE
VAR/K,STEM/K,WINDOW/N,QUIET/S
FUNCTION
Opens a Write window to compose a new mail or activates one already opened.

Except when replying/forwarding/bouncing email where only one Write window is used, MAILWRITE is needed before trying to edit any part of a new message.

INPUTS
VAR/K - alternative variable to put the results into instead of RESULT (V2.0)
STEM/K - base name used for the stem where the returned data will be stored (V2.0)
WINDOW/N - change the command behavior to just activate an already opened Write window identified by the supplied parameter
QUIET/S - force the window to stay invisible (V2.1)
RETURNS
VAR - info returned by the command
<STEM>WINDOW - number of the created/activated window

RC is set to 5 if WINDOW is used with a value referring to an inexistant window, or to 10 if the window cannot be opened, maybe because the limit of two Write windows has been reached.

NOTES
Window slots are dinamically assigned as they are required until all of them are occupied, and remain in use until the relevant window is closed (an "invisible" Write window is also "open" within this context). The optional WINDOW parameter sets the active Write window, upon which the WRITEATTACH, WRITEBCC, WRITECC, WRITEEDITOR WRITEFROM, WRITELETTER, WRITEMAILTO, WRITEOPTIONS, WRITEQUEUE, WRITEREPLYTO, WRITESEND, WRITESUBJECT, and WRITETO commands will act when called, though strictly speaking this is only necessary when at least two Write windows are opened at the same time - in that case, MAILWRITE WINDOW x should be called before using any of these commands to ensure they act on the window they are supposed to.

Regardless, note that manually activating a Write window using the GUI does not magically make it the target of the above mentioned commands.

EXAMPLE
/* Enable result codes */
OPTIONS RESULTS

/* Start a new mail */
MAILWRITE STEM st.
win1 = st.window

/* Start yet another mail */
MAILWRITE STEM st.
win2 = st.window

/* Edit the first Write window */
MAILWRITE WINDOW win1
WRITETO 'boss@example.com'
'WRITESUBJECT "I don't think I can go to work today"'
WRITELETTER 'work:excuses.txt'

/* Edit the second Write window */
MAILWRITE WINDOW win2
WRITETO 'peggy@example.org'
'WRITESUBJECT "Stuffed at work, I'll be late"'

/* Put the first email in the Outgoing queue */
MAILWRITE WINDOW win1
WRITEQUEUE

/* Start a new email using an invisible Write window */
MAILWRITE STEM st. QUIET
win3 = st.window
WRITETO sales@example.com
'WRITESUBJECT "Two with Mozzarella + lots of coke"'
WRITELETTER 'dh5:priv/Snail_Linda.txt'

/* Finish editing the second email and send it at once */
MAILWRITE WINDOW win2
WRITESEND

/* Send the third email */
MAILWRITE WINDOW win3
WRITEOPTIONS DELETE   /* avoid leaving any traces */
WRITESEND
BUGS
MAILWRITE would throw Enforcer hits if YAM was iconified and the external editor was configured to be launched immediately, or when the QUIET switch was used; this was fixed in V2.3.
SEE ALSO
[WRITEATTACH]], WRITEBCC, WRITECC, WRITEEDITOR WRITEFROM, WRITELETTER, WRITEMAILTO, WRITEOPTIONS, WRITEQUEUE, WRITEREPLYTO, WRITESEND, WRITESUBJECT, WRITETO