Salve,
non capisco dove sbaglio:in pratica voglio che il server mandi una serie di email in background dopo l'invio del form.
Da quanto vedo non riesco nemmeno a cancellaree il file temporaneo con le informazioni.
Questa è la struttura:
codice:
Main
    Swift
    config
        tmpinfo.txt
    admin
        sendmail.php
Già che ci sono esiste un metodo per visualizzare gli errori del cli?
Questo è codice:
Codice PHP:
<?php
if(isset($_POST['sendmail'])){
        if(
$_POST['shtb']=='no'){
            
            
$c=count($_POST['semail']);
            
$c2=count($mailist);
            for(
$i=0;$i<$c;$i++){
                if(
is_int($_POST['semail'][$i]))
                    
$mailist[$i]=$mailist[$_POST['semail'][$i]];
            }
            for(
$i=$c;$i<$c2;$i++)
                unset(
$mailist[$i]);
        }
        
$bod=normalize_str(rtrim(preg_replace('/\s+/',' ',$_POST['message'])));
        
$footer=normalize_str(rtrim(preg_replace('/\s+/',' ',$_POST['footerfn'])));
        
$manip="<html><body>".$bod.'<div id="footer" style="display:block;clear:both;width:100%;position:relative;margin:10px 0;border-top:1px solid #000">'.$footer;
        
file_put_contents('../config/tmpinfo.txt',$manip."\n".serialize($mailist)."\n".$_POST['sender']."\n".$_POST['object']."\n".$var[11]."\n".$var[12]."\n".$var[13]."\n".$var[14]."\n".$var[15]);
        
chmod('../config/tmpinfo.txt',0644);
        
$ex="php -f ".rtrim(dirname(__FILE__))."/sendmail.php";
        
        if (
substr(php_uname(), 07) == "Windows")
            
pclose(popen("start /B "$ex"r")); 
        else 
            
shell_exec($ex " > /dev/null &");  
}
?>
e questo è lo script:
Codice PHP:
<?php
        
require_once dirname(dirname(__FILE__)).'/Swift/lib/swift_required.php';
        
$readfile=dirname(dirname(__FILE__)).'/config/tmpinfo.txt';
        
$info=file($readfileFILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES);
        
unlink($readfile);
        
$manip=$info[0];
        
$mailist=unserialize($info[1]);
        
$message Swift_Message::newInstance();
        
$message->setFrom($info[2]);
        
$message->setSubject($info[3]);
        
$message->setContentType('text/html; charset=ISO-8859-1');    
        
$transport Swift_SendmailTransport::newInstance('/usr/sbin/sendmail -t');
        
$mailer Swift_Mailer::newInstance($transport);
        
        if(isset(
$info[7]) && isset($info[8]) && $info[7]!=null && $info[8]!=null$mailer->registerPlugin(new Swift_Plugins_AntiFloodPlugin($info[7], $info[8]));
        
$count=count($mailist);
        
        if(
rtrim($info[4])=='yes'){
            for(
$i=0;$i$count;$i++){
                
$unlink="

Click [url='http://"
.$info[5].$info[6]."unsubscribe.php?mail=".$mailist[$i]."&id=".(($i+1)*8)."']here[/url] if you want to unsubscribe</p></div></body></html>";
                
$message->setBody($manip.$unlink);
                
$message->setTo($mailist[$i]);
                
$mailer->send($message);
            }
        }else{    
            
file_put_contents('out.txt','no');
            
$manip=$manip."</div></body></html>";
            
$message->setBody($manip);
            for(
$i=0;$i$count;$i++){
                
$message->setTo($mailist[$i]);
                
$mailer->send($message);
            }
        }
?>
Grazie