summaryrefslogtreecommitdiff
path: root/app/Helper/MailHelper.php
blob: cb16d6f88aaee6293b9b8a0f07e6490ab33720cf (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
<?php

namespace Kanboard\Helper;

use Kanboard\Core\Base;

/**
 * Class MailHelper
 *
 * @package Kanboard\Helper
 * @author  Frederic Guillot
 */
class MailHelper extends Base
{
    /**
     * Get the mailbox hash from an email address
     *
     * @access public
     * @param  string  $email
     * @return string
     */
    public function getMailboxHash($email)
    {
        if (! strpos($email, '@') || ! strpos($email, '+')) {
            return '';
        }

        list($localPart, ) = explode('@', $email);
        list(, $identifier) = explode('+', $localPart);

        return $identifier;
    }

    /**
     * Filter mail subject
     *
     * @access public
     * @param  string $subject
     * @return string
     */
    public function filterSubject($subject)
    {
        $subject = str_ireplace('RE: ', '', $subject);
        $subject = str_ireplace('FW: ', '', $subject);
        $subject = str_ireplace('Fwd: ', '', $subject);

        return $subject;
    }

    /**
     * Get mail sender address
     *
     * @access public
     * @return string
     */
    public function getMailSenderAddress()
    {
        if (MAIL_CONFIGURATION) {
            $email = $this->configModel->get('mail_sender_address');

            if (! empty($email)) {
                return $email;
            }
        }

        return MAIL_FROM;
    }

    /**
     * Get mail transport
     *
     * @access public
     * @return string
     */
    public function getMailTransport()
    {
        if (MAIL_CONFIGURATION) {
            $transport = $this->configModel->get('mail_transport');

            if (! empty($transport)) {
                return $transport;
            }
        }

        return MAIL_TRANSPORT;
    }
}