Skip to content
Snippets Groups Projects
Commit f7cefc02 authored by Andreas Gohr's avatar Andreas Gohr
Browse files

added mailfromnone internal option FS#2170

parent 63e967bd
No related branches found
No related tags found
No related merge requests found
......@@ -32,20 +32,25 @@ if (!defined('PREG_PATTERN_VALID_EMAIL')) define('PREG_PATTERN_VALID_EMAIL', '['
/**
* Prepare mailfrom replacement patterns
*
* Also prepares a mailfromnone config that contains an autoconstructed address
* if the mailfrom one is userdependent and this might not be wanted (subscriptions)
*
* @author Andreas Gohr <andi@splitbrain.org>
*/
function mail_setup(){
global $conf;
global $USERINFO;
$replace = array();
// auto constructed address
$host = @parse_url(DOKU_URL,PHP_URL_HOST);
if(!$host) $host = 'example.com';
$noreply = 'noreply@'.$host;
$replace = array();
if(!empty($USERINFO['mail'])){
$replace['@MAIL@'] = $USERINFO['mail'];
}else{
$host = @parse_url(DOKU_URL,PHP_URL_HOST);
if(!$host) $host = 'example.com';
$replace['@MAIL@'] = 'noreply@'.$host;
$replace['@MAIL@'] = $noreply;
}
if(!empty($_SERVER['REMOTE_USER'])){
......@@ -60,9 +65,18 @@ function mail_setup(){
$replace['@NAME@'] = '';
}
$conf['mailfrom'] = str_replace(array_keys($replace),
array_values($replace),
$conf['mailfrom']);
// apply replacements
$from = str_replace(array_keys($replace),
array_values($replace),
$conf['mailfrom']);
// any replacements done? set different mailfromnone
if($from != $conf['mailfrom']){
$conf['mailfromnone'] = $noreply;
}else{
$conf['mailfromnone'] = $from;
}
$conf['mailfrom'] = $from;
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment