[#113] Avoid e-mail send out to be marked as spam when from is not the same as SMTP username

Signed-off-by: crynobone <crynobone@gmail.com>
Allow to customize from e-mail address

Signed-off-by: crynobone <crynobone@gmail.com>
Multiple refactor from previous commit

Signed-off-by: crynobone <crynobone@gmail.com>
Small check to only support mail, smtp or sendmail

Signed-off-by: crynobone <crynobone@gmail.com>
Additional test case

Signed-off-by: crynobone <crynobone@gmail.com>
Missing some lines

Signed-off-by: crynobone <crynobone@gmail.com>
Merge branch 'staging' into develop