Hola a todos, si utilizáis Swift Mailer para realizar los envío de newsletter puede que al montarlo en algunos servidores compartido os de un error ‘open_basedir restriction in effect’, como este:

<br />
<b>Warning</b>:  is_writable() [<a href='function.is-writable'>function.is-writable</a>]: open_basedir restriction in effect. File(/var/tmp) is not within the allowed path(s): (/usr/home/prueba.com/:/home/prueba.com/:/usr/home/phpMyAdmin-plan6/:/usr/home/webstats/) in <b>/usr/home/prueba.com/web/com/Swift-4.0.6/preferences.php</b> on line <b>15</b><br />
<br />
<b>Warning</b>:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at /usr/home/prueba.com/web/com/Swift-4.0.6/preferences.php:15) in <b>/usr/home/prueba.com/web/com/session.class.php</b> on line <b>7</b><br />

La solución es la siguiente, os vais al fichero llamado ‘preferences.php’ y sustituís estas líneas:

if (function_exists('sys_get_temp_dir') && is_writable(sys_get_temp_dir())){
  Swift_Preferences::getInstance()
    -> setTempDir(sys_get_temp_dir())
    -> setCacheType('disk');
}

por

if (function_exists('ini_get') && is_writable(ini_get('upload_tmp_dir'))){
  Swift_Preferences::getInstance()
    -> setTempDir(ini_get('upload_tmp_dir'))
    -> setCacheType('disk');
}

Con este simple cambio se soluciona el problema.