@@ -138,8 +138,9 @@ public function buildMessage(array $params, array $vars = []): Message
138
138
$ email = $ message ->getEmail ();
139
139
140
140
// Extend parameters with defaults.
141
- $ params + = [
141
+ $ defaults = [
142
142
'bcc ' => $ config ->get ('plugins.email.bcc ' , []),
143
+ 'bcc_name ' => $ config ->get ('plugins.email.bcc_name ' ),
143
144
'body ' => $ config ->get ('plugins.email.body ' , '{% include "forms/data.html.twig" %} ' ),
144
145
'cc ' => $ config ->get ('plugins.email.cc ' , []),
145
146
'cc_name ' => $ config ->get ('plugins.email.cc_name ' ),
@@ -157,6 +158,12 @@ public function buildMessage(array $params, array $vars = []): Message
157
158
'message ' => $ message
158
159
];
159
160
161
+ foreach ($ defaults as $ key => $ value ) {
162
+ if (!key_exists ($ key , $ params )) {
163
+ $ params [$ key ] = $ value ;
164
+ }
165
+ }
166
+
160
167
if (!$ params ['to ' ]) {
161
168
throw new \RuntimeException ($ language ->translate ('PLUGIN_EMAIL.PLEASE_CONFIGURE_A_TO_ADDRESS ' ));
162
169
}
@@ -237,6 +244,10 @@ public function buildMessage(array $params, array $vars = []): Message
237
244
*/
238
245
protected function processRecipients (string $ type , array $ params ): array
239
246
{
247
+ if (array_key_exists ($ type , $ params ) && $ params [$ type ] === null ) {
248
+ return [];
249
+ }
250
+
240
251
$ recipients = $ params [$ type ] ?? Grav::instance ()['config ' ]->get ('plugins.email. ' .$ type ) ?? [];
241
252
242
253
$ list = [];
@@ -260,7 +271,7 @@ protected function processRecipients(string $type, array $params): array
260
271
$ list [] = $ this ->createAddress ($ recipient );
261
272
}
262
273
} else {
263
- if (!Utils::contains ($ recipients , ['< ' ,'> ' ]) && ($ params [$ type ."_name " ])) {
274
+ if (!Utils::contains ($ recipients , ['< ' ,'> ' ]) && (isset ( $ params [$ type ."_name " ]) )) {
264
275
$ recipients = [$ recipients , $ params [$ type ."_name " ]];
265
276
}
266
277
$ list [] = $ this ->createAddress ($ recipients );
0 commit comments