-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmonmail.pas
99 lines (75 loc) · 3.01 KB
/
monmail.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
[inherit('sys$library:starlet','sys$library:pascal$lib_routines','monconst',
'montype')]
MODULE SEND_MAIL;
TYPE
item_list_3 = RECORD
buf_len : $uword;
it_code : $uword;
buf_adr : unsigned;
ret_len : unsigned;
END;
VAR
dummy : array [1..1] of item_list_3 := zero;
inlist : array [1..2] of item_list_3;
context : unsigned := 0;
subject : string;
[ASYNCHRONOUS,EXTERNAL]
PROCEDURE mail$send_begin(VAR con: unsigned;
VAR inlist: ARRAY [$l1..$u1:integer] OF item_list_3;
VAR outlist: ARRAY [$l2..$u2:integer] OF item_list_3); EXTERNAL;
[ASYNCHRONOUS,EXTERNAL]
PROCEDURE mail$send_add_address(VAR con: unsigned;
VAR inlist: ARRAY [$l1..$u1:integer] OF item_list_3;
VAR outlist: ARRAY [$l2..$u2:integer] OF item_list_3); EXTERNAL;
[ASYNCHRONOUS,EXTERNAL]
PROCEDURE mail$send_add_attribute(VAR con: unsigned;
VAR inlist: ARRAY [$l1..$u1:integer] OF item_list_3;
VAR outlist: ARRAY [$l2..$u2:integer] OF item_list_3); EXTERNAL;
[ASYNCHRONOUS,EXTERNAL]
PROCEDURE mail$send_add_bodypart(VAR con: unsigned;
VAR inlist: ARRAY [$l1..$u1:integer] OF item_list_3;
VAR outlist: ARRAY [$l2..$u2:integer] OF item_list_3); EXTERNAL;
[ASYNCHRONOUS,EXTERNAL]
PROCEDURE mail$send_message(VAR con: unsigned;
VAR inlist: ARRAY [$l1..$u1:integer] OF item_list_3;
VAR outlist: ARRAY [$l2..$u2:integer] OF item_list_3); EXTERNAL;
[ASYNCHRONOUS,EXTERNAL]
PROCEDURE mail$send_end(VAR con: unsigned;
VAR inlist: ARRAY [$l1..$u1:integer] OF item_list_3;
VAR outlist: ARRAY [$l2..$u2:integer] OF item_list_3); EXTERNAL;
[GLOBAL]
procedure mail_user(user : packed array[$l1..$u1:integer] of char;
filen : packed array[$l2..$u2:integer] of char);
begin
{ Initialization of Information }
subject := 'Introduction to Monster';
{ Mail$Send_Begin - Initializes Mail Sending Context }
inlist[1].buf_len := 0;
inlist[1].it_code := mail$_send_no_pers_name;
inlist[1].buf_adr := 0;
inlist[2] := zero;
mail$send_begin(context, inlist, dummy);
{ Mail$Send_Add_Address - Specifies to Whom the Mail is for }
inlist[1].buf_len := length(user);
inlist[1].it_code := mail$_send_username;
inlist[1].buf_adr := iaddress(user);
inlist[2] := zero;
mail$send_add_address(context, inlist, dummy);
{ Mail$Send_Add_Attribute - Adds Subject line }
inlist[1].buf_len := length(subject);
inlist[1].it_code := mail$_send_subject;
inlist[1].buf_adr := iaddress(subject);
inlist[2] := zero;
mail$send_add_attribute(context, inlist, dummy);
{ Mail$Send_Add_Bodypart - Specifies the File to be Sent }
inlist[1].buf_len := length(filen);
inlist[1].it_code := mail$_send_filename;
inlist[1].buf_adr := iaddress(filen);
inlist[2] := zero;
mail$send_add_bodypart(context, inlist, dummy);
{ Mail$Send_Message - Sends the Actual Message }
mail$send_message(context, dummy, dummy);
{ Mail$Send_End - Ends the Mail Sending Routine }
mail$send_end(context, dummy, dummy);
END;
end. (* Module sendmail *)