-
Notifications
You must be signed in to change notification settings - Fork 145
Expand file tree
/
Copy pathemail_helper.php
More file actions
59 lines (52 loc) · 2.02 KB
/
Copy pathemail_helper.php
File metadata and controls
59 lines (52 loc) · 2.02 KB
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
<?php
declare(strict_types=1);
/**
* This file is part of CodeIgniter Shield.
*
* (c) CodeIgniter Foundation <admin@codeigniter.com>
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
use CodeIgniter\Email\Email;
if (! function_exists('emailer')) {
/**
* Provides convenient access to the CodeIgniter Email class.
*
* @param array<string, mixed> $overrides Email preferences to override.
*
* @internal
*/
function emailer(array $overrides = []): Email
{
$config = [
'userAgent' => setting('Email.userAgent'),
'protocol' => setting('Email.protocol'),
'mailPath' => setting('Email.mailPath'),
'SMTPHost' => setting('Email.SMTPHost'),
'SMTPUser' => setting('Email.SMTPUser'),
'SMTPPass' => setting('Email.SMTPPass'),
'SMTPPort' => setting('Email.SMTPPort'),
'SMTPTimeout' => setting('Email.SMTPTimeout'),
'SMTPKeepAlive' => setting('Email.SMTPKeepAlive'),
'SMTPCrypto' => setting('Email.SMTPCrypto'),
'wordWrap' => setting('Email.wordWrap'),
'wrapChars' => setting('Email.wrapChars'),
'mailType' => setting('Email.mailType'),
'charset' => setting('Email.charset'),
'validate' => setting('Email.validate'),
'priority' => setting('Email.priority'),
'CRLF' => setting('Email.CRLF'),
'newline' => setting('Email.newline'),
'BCCBatchMode' => setting('Email.BCCBatchMode'),
'BCCBatchSize' => setting('Email.BCCBatchSize'),
'DSN' => setting('Email.DSN'),
];
if ($overrides !== []) {
$config = array_merge($config, $overrides);
}
/** @var Email $email */
$email = service('email');
return $email->initialize($config);
}
}