blob: e3dfbe6981d5a7c6c9d3dd1d9482a593c9479639 (
plain)
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
|
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCP\Mail\Provider;
/**
* Mail Message Interface
*
* This interface is a base requirement of methods and functionality used to construct a mail message object
*
* @since 30.0.0
*
*/
interface IMessage {
/**
* arbitrary unique text string identifying this message
*
* @since 30.0.0
*
* @return string id of this message
*/
public function id(): string;
/**
* sets the sender of this message
*
* @since 30.0.0
*
* @param IAddress $value sender's mail address object
*
* @return self return this object for command chaining
*/
public function setFrom(IAddress $value): self;
/**
* gets the sender of this message
*
* @since 30.0.0
*
* @return IAddress|null sender's mail address object
*/
public function getFrom(): ?IAddress;
/**
* sets the sender's reply to address of this message
*
* @since 30.0.0
*
* @param IAddress $value senders's reply to mail address object
*
* @return self return this object for command chaining
*/
public function setReplyTo(IAddress $value): self;
/**
* gets the sender's reply to address of this message
*
* @since 30.0.0
*
* @return IAddress|null sender's reply to mail address object
*/
public function getReplyTo(): ?IAddress;
/**
* sets the recipient(s) of this message
*
* @since 30.0.0
*
* @param IAddress ...$value collection of or one or more mail address objects
*
* @return self return this object for command chaining
*/
public function setTo(IAddress ...$value): self;
/**
* gets the recipient(s) of this message
*
* @since 30.0.0
*
* @return array<int,IAddress> collection of all recipient mail address objects
*/
public function getTo(): array;
/**
* sets the copy to recipient(s) of this message
*
* @since 30.0.0
*
* @param IAddress ...$value collection of or one or more mail address objects
*
* @return self return this object for command chaining
*/
public function setCc(IAddress ...$value): self;
/**
* gets the copy to recipient(s) of this message
*
* @since 30.0.0
*
* @return array<int,IAddress> collection of all copied recipient mail address objects
*/
public function getCc(): array;
/**
* sets the blind copy to recipient(s) of this message
*
* @since 30.0.0
*
* @param IAddress ...$value collection of or one or more mail address objects
*
* @return self return this object for command chaining
*/
public function setBcc(IAddress ...$value): self;
/**
* gets the blind copy to recipient(s) of this message
*
* @since 30.0.0
*
* @return array<int,IAddress> collection of all blind copied recipient mail address objects
*/
public function getBcc(): array;
/**
* sets the subject of this message
*
* @since 30.0.0
*
* @param string $value subject of mail message
*
* @return self return this object for command chaining
*/
public function setSubject(string $value): self;
/**
* gets the subject of this message
*
* @since 30.0.0
*
* @return string|null subject of message or null if one is not set
*/
public function getSubject(): ?string;
/**
* sets the plain text or html body of this message
*
* @since 30.0.0
*
* @param string $value text or html body of message
* @param bool $html html flag - true for html
*
* @return self return this object for command chaining
*/
public function setBody(string $value, bool $html): self;
/**
* gets either the html or plain text body of this message
*
* html body will be returned over plain text if html body exists
*
* @since 30.0.0
*
* @return string|null html/plain body of this message or null if one is not set
*/
public function getBody(): ?string;
/**
* sets the html body of this message
*
* @since 30.0.0
*
* @param string $value html body of message
*
* @return self return this object for command chaining
*/
public function setBodyHtml(string $value): self;
/**
* gets the html body of this message
*
* @since 30.0.0
*
* @return string|null html body of this message or null if one is not set
*/
public function getBodyHtml(): ?string;
/**
* sets the plain text body of this message
*
* @since 30.0.0
*
* @param string $value plain text body of message
*
* @return self return this object for command chaining
*/
public function setBodyPlain(string $value): self;
/**
* gets the plain text body of this message
*
* @since 30.0.0
*
* @return string|null plain text body of this message or null if one is not set
*/
public function getBodyPlain(): ?string;
/**
* sets the attachments of this message
*
* @since 30.0.0
*
* @param IAttachment ...$value collection of or one or more mail attachment objects
*
* @return self return this object for command chaining
*/
public function setAttachments(IAttachment ...$value): self;
/**
* gets the attachments of this message
*
* @since 30.0.0
*
* @return array<int,IAttachment> collection of all mail attachment objects
*/
public function getAttachments(): array;
}
|