Fixed issue #17198: Introduce setting "defaultMailFromName" and move defaultMailFromA...
authorErnesto Baschny <ernst@cron-it.de>
Fri, 21 Jan 2011 15:55:24 +0000 (15:55 +0000)
committerErnesto Baschny <ernst@cron-it.de>
Fri, 21 Jan 2011 15:55:24 +0000 (15:55 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@10216 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/config_default.php
t3lib/utility/class.t3lib_utility_mail.php
typo3/sysext/reports/tasks/class.tx_reports_tasks_systemstatusupdatetask.php

index 3b8c0f2..95c8d58 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,6 +13,7 @@
 
 2011-01-21  Ernesto Baschny  <ernst@cron-it.de>
 
+       * Fixed issue #17198: Introduce setting "defaultMailFromName" and move defaultMailFromAddress to [MAIL] section (Thanks to Jigal van Hemert)
        * Fixed issue #17175: t3lib_compressor should write .htaccess to set Expires headers for .js/.css files (Thanks to Steffen Gebert)
        * Fixed bug #17120: Problem with the integration of third-party trees (Thanks to Stefan Galinksi)
        * Follow-up to issue #11103: Cleanup of _.htaccess and references to misc/advanced.htaccess in config_default
index 8e5cf76..9c62ed4 100644 (file)
@@ -92,7 +92,6 @@ $TYPO3_CONF_VARS = array(
                'dbClientCompress' => FALSE,                    // Boolean: if true, data exchange between TYPO3 and database server will be compressed. This may improve performance if (1) database serever is on the different server and (2) network connection speed to database server is 100mbps or less. CPU usage will be higher if this option is used but database operations will be executed faster due to much less (up to 3 times) database network traffic. This option has no effect if MySQL server is localhost.
                'setMemoryLimit' => 0,                                  // Integer: memory_limit in MB: If more than 16, TYPO3 will try to use ini_set() to set the memory limit of PHP to the value. This works only if the function ini_set() is not disabled by your sysadmin.
                'forceReturnPath' => FALSE,                             // Boolean: Force return path to be applied in mail() calls. If this is set, all calls to mail() done by t3lib_htmlmail will be called with '-f&lt;return_path&gt; as the 5th parameter. This will make the return path correct on almost all Unix systems. There is a known problem with Postfix below version 2: Mails are not sent if this option is set and Postfix is used. On Windows platforms, the return path is set via a call to ini_set. This has no effect if safe_mode in PHP is on.
-               'defaultMailFromAddress' => '',                 // String: This default name and email address is used when no other "from" value is set for a TYPO3-generated email. You can specify an email address only (ex. info@test.test) or a name and email address (ex. My Website <info@test.test>).
                'serverTimeZone' => 1,                                  // Integer: GMT offset of servers time (from time()). Default is "1" which is "GMT+1" (central european time). This value can be used in extensions that are GMT aware and wants to convert times to/from other timezones.
                'phpTimeZone' => '',                                    // String: timezone to force for all date() and mktime() functions. A list of supported values can be found at <a href="http://php.net/manual/en/timezones.php" target="_blank">php.net</a>. If this is not set, a valid fallback will be searched for by PHP (php.ini's <a href="http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone" target="_blank">date.timezone</a> setting, server defaults, etc); and if no fallback is found, the value of "UTC" is used instead.
                'systemLog' => '',                                              // <p>String: semi-colon separated list. Defines one or more logging methods. Possible methods:</p><dl><dt>file,&lt;abs-path-to-file&gt;[,&lt;level&gt;]</dt><dd>logs to a file</dd><dt>mail,&lt;to&gt;[/&lt;from&gt;][,&lt;level&gt;]</dt><dd>sends the log entries via mail</dd><dt>syslog,&lt;facility&gt;,[,&lt;level&gt;]</dt><dd>uses the operating system's log. Facility may be one of LOCAL0..LOCAL7, USER (on Windows USER is the only valid type).</dd><dt>error_log[,,&lt;level&gt;]</dt><dd>uses the PHP error log</dd></dl><p>The &lt;level&gt; is the individual logging level (see <a href="#SYS-systemLogLevel">[SYS][systemLogLevel]</a>).</p>
@@ -577,6 +576,8 @@ $TYPO3_CONF_VARS = array(
                'transport_sendmail_command' => '/usr/sbin/sendmail -bs',       // String: <em>only with transport=sendmail</em>: The command to call to send a mail locally. The default works on most modern UNIX based mail server (sendmail, postfix, exim)
                'transport_mbox_file' => '',    // String: <em>only with transport=mbox</em>: The file where to write the mails into. This file will be conforming the mbox format described in RFC 4155. It is a simple text file with a concatenation of all mails. Path must be absolute.
                'substituteOldMailAPI' => 1,    // Boolean: If this is set, old calls to t3lib_utility_mail::Mail() will be translated to new t3lib_mail calls. This should work on most cases and thus respect the above transport settings. If you get garbled emails (or no attachments), consider setting this off. Ask the extension author to upgrade their code to make use of t3lib_mail (instead of the deprecated t3lib_htmlmail).
+               'defaultMailFromAddress' => '',                 // String: This default email address is used when no other "from" address is set for a TYPO3-generated email. You can specify an email address only (ex. info@example.org).
+               'defaultMailFromName' => '',                    // String: This default name is used when no other "from" name is set for a TYPO3-generated email.
        ),
        'MODS' => array(                // Backend Module Configuration (obsolete, make extension instead)
        ),
index f2b7aff..525b586 100644 (file)
@@ -55,11 +55,16 @@ final class t3lib_utility_Mail {
                $success = TRUE;
 
                        // If the mail does not have a From: header, fall back to the default in TYPO3_CONF_VARS.
-               if (!preg_match('/^From:/im', $additionalHeaders) && $GLOBALS['TYPO3_CONF_VARS']['SYS']['defaultMailFromAddress']) {
+               if (!preg_match('/^From:/im', $additionalHeaders) && $GLOBALS['TYPO3_CONF_VARS']['MAIL']['defaultMailFromAddress']) {
                        if (!is_null($additionalHeaders) && substr($additionalHeaders, -1) != LF) {
                                $additionalHeaders .= LF;
                        }
-                       $additionalHeaders .= 'From: ' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['defaultMailFromAddress'];
+                       if ($GLOBALS['TYPO3_CONF_VARS']['MAIL']['defaultMailFromName']) {
+                               $additionalHeaders .= 'From: "' . $GLOBALS['TYPO3_CONF_VARS']['MAIL']['defaultMailFromName'] 
+                                               . '" <' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['defaultMailFromAddress'] . '>';
+                       } else {
+                               $additionalHeaders .= 'From: ' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['defaultMailFromAddress'];
+                       }
                }
 
                if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/utility/class.t3lib_utility_mail.php']['substituteMailDelivery'])) {
index ae1f12f..c0cc163 100644 (file)
@@ -119,7 +119,7 @@ class tx_reports_tasks_SystemStatusUpdateTask extends tx_scheduler_Task {
                $message .= CRLF . CRLF;
 
                $mail = t3lib_div::makeInstance('t3lib_mail_Message');
-               $mail->setFrom(array($fromEmail => 'TYPO3 CMS'));
+               $mail->setFrom(array($fromEmail => $GLOBALS['TYPO3_CONF_VARS']['MAIL']['defaultMailFromName']));
                $mail->setTo($this->notificationEmail);
                $mail->setSubject($subject);
                $mail->setBody($message);
@@ -142,7 +142,7 @@ class tx_reports_tasks_SystemStatusUpdateTask extends tx_scheduler_Task {
                $user  = 'no-reply';
 
                        // default
-               $email = $GLOBALS['TYPO3_CONF_VARS']['SYS']['defaultMailFromAddress'];
+               $email = $GLOBALS['TYPO3_CONF_VARS']['MAIL']['defaultMailFromAddress'];
 
                        // find domain record
                if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {