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
|
<?php declare(strict_types=1);
error_reporting(E_ALL);
$config = require_once(__DIR__.'/../config.php');
$urls = file($config['path_to_file'], FILE_IGNORE_NEW_LINES);
$urls = array_slice($urls, 0, $config['num_urls_to_read']);
if (!count($urls)) {
exit();
}
$email = $config['email'];
mail(
$email['to'],
$email['subject'],
buildMessage($urls, $config['site']),
[
'From' => $email['from'],
'MIME-Version' => '1.0',
'Content-Type' => 'text/html; charset=UTF-8',
]
);
function buildMessage(array $urls, string $site): string
{
$urls = array_map(function ($url) use ($site) {
return sprintf(
'<li><a href="%s/bookmarks/read?url=%s">%s</a></li>',
$site,
urlencode($url),
htmlentities($url)
);
}, $urls);
$urls = sprintf('<ol>%s</ol>', implode('', $urls));
return <<< EOF_HTML
<html>
<body>
<p>Below are today's bookmarks for reading.</p>
$urls
</body>
</html>
EOF_HTML;
}
|