Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 35

Discussione: invio email immagini

  1. #21
    mmmmh ti ringrazio io comunque domani posto quanto fatto oggi... anche se poco e niente...

  2. #22
    Gaurda l'ho tirato giù in un secondo cercando di riprendere quello che uso io (io solo che uso swift dietro un'altra interfaccia, non direttamente)... uso swift 4.0.6, ma non penso sia molto dissimile nei comandi base dal 4.1

    Codice PHP:

    //in function.php

    //ho fatto l'upload della foto e conosco la path in $path_image


    require_once('/path/to/swift/folder/swift_required.php');

    $protocollo 'smtp'//puoi scegliere tra smtp e sandmail

    $transport null;

    if(
    $protocollo == 'smtp'){

        
    $transport Swift_SmtpTransport::newInstance('smtp.tuosito.ext',25);
        
    $transport->setUsername('pippo');
        
    $transport->setPassword('pluto');

    }else{ 
    //sendmail
        
        
    $cmd_sendmail '/usr/sbin/sendmail -bs';
        
    $transport Swift_SendmailTransport::newInstance($cmd_sendmail);

    }

    $mailer Swift_Mailer::newInstance($transport);   //creo l'oggetto che invierà fisicamente la mail

    $mail Swift_Message::newInstance();  //creo la mail

    //setto il charset
    $mail->setCharset('UTF-8');

    //aggiungo il messaggio di testo
    $mail->setBody($testo_html,'text/html');

    $mail->setTo('email_to');
    $mail->setFrom('email_from');

    //aggiungo l'attachment
    $attachment Swift_Attachment::fromPath($path_image);
    $attachment->setFilename('file_pippo.jpg');
    $mail->attach($attachment);

    //invio
    $mailer->send($mail); 

    ora non ricordo, questo è mettendo l'immagine come attachment... se non funziona, invece di Swift_Attachment prova questo:

    Codice PHP:
    $attachment Swift_Image::fromPath($path_file);
    $attachment->setFilename('nome_immagine.jpg');
    $mail->embed($attachment); 
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #23
    grazie santino per l'aiuto che mi stai dando, attualmente io ho l'invio costituito da due file, il primo file è quello che ho postato io nei giorni scorsi, dove creava il corpo del messaggio quindi function.php che viene richiamato al momento dell'invio dal file addnewsletter.php, questo file dentro ha del codice php che prende inserisce nella colonna newsletter il corpo del messaggio e lo riprende successivamente sotto forma di array per poi inviarlo. Quindi nel file Function avrò il corpo del messaggio nel file addNewsletter invece inserisco nel corpo il contenuto che ho scritto oppure caricato nel server quali immagini piuttosto che intestazioni. alla fine con il comando sendmail lui prende ed invia la mail... riassumo il tutto inserendovi allo stato attuale i file come sono formati sia upload che function che l'invio della mail... spero santino di non averti rotto troppo le scatole... XD XD XD XD. ma la voglia di imparare è tanta, quella di fare pure... ed i manuali li ho praticamente logorati su internet XDXDXD

    Upload.php ossia l'inserimento nel server di eventuali immagini...
    Codice PHP:
    <?php

    // Optional: instance name (might be used to adjust the server folders for example)
    $CKEditor $_GET['CKEditor'] ;

    // Required: Function number as indicated by CKEditor.
    $funcNum $_GET['CKEditorFuncNum'] ;

    // Optional: To provide localized messages
    $langCode $_GET['langCode'] ;

    // ------------------------
    // Data processing
    // ------------------------

    // The returned url of the uploaded file
    $url '' ;

    // Optional message to show to the user (file renamed, invalid file, not authenticated...)
    $message '';

    // In FCKeditor the uploaded file was sent as 'NewFile' but in CKEditor is 'upload'
    if (isset($_FILES['upload'])) {
        
    //Controlli
        
    if(!($_FILES['upload']['type'] == "image/jpg") && !($_FILES['upload']['type'] == "image/jpeg") && !($_FILES['upload']['type'] == "image/png")){
            exit(
    "Bisogna caricare un'immagine");
        }
            
    $percorso "./upload/";
            
    $nomenew $percorso.$_FILES['upload']['name'];
            
    $url=$nomenew;
            
    //qui ci sarà il path assoluto dell'immagine
            
    $nometemp $_FILES['upload']['tmp_name'];
            
    $inviato=file_exists($nometemp);
    //verifica se il file è stato caricato sul server

    if ($inviato) {

        
    move_uploaded_file($nometemp,$nomenew);
        echo 
    "<script type='text/javascript'> window.parent.CKEDITOR.tools.callFunction(1, '$nomenew', '$message')</script>";
     
        } else {
    exit (
    "KO");
        }
            
    }
    else
    {
        
    $message 'No file has been sent';
    }
    ?>
    Function.php ossia la creazione del corpo messaggio...
    Codice PHP:
    <?php
        
    function reg_get_unique_id()
        {
            
    //restituisce un ID univoco per gestire la registrazione
            
    list($usec$sec) = explode(' 'microtime());
            
    mt_srand((float) $sec + ((float) $usec 100000));
            return 
    md5(uniqid(mt_rand(), true));
        }
        
        function 
    ricava_titolo($body)
        {
            
    $supp trim(str_replace(array("\r","\n","\t"), ""$body));
            
    preg_match_all("(<div><h1(.*?)</h1>)"$supp $risultato);
            
    $str explode(">"strip_tags$risultato[1][0]));
            return 
    $str[1];
        }
        
        function 
    sendMail($text)
        {
            
    error_reporting(E_ALL);

            
    // Genera un boundary
            
    $mail_boundary "=_NextPart_" md5(uniqid(time()));
     
            
    $subject "Newsletter";
            
    $sender "newsletter@miosito.it";

     
    $headers "From: $sender\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/alternative;\n\tboundary=\"$mail_boundary\"\n";
    $headers .= "X-Mailer: PHP " phpversion();
     
    // Corpi del messaggio nei due formati testo e HTML
    $html_msg "<html></head><body><div>".$text."</div></body></html>";
    $msg "";
    $msg .= "\n--$mail_boundary\n";
    $msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $msg .= "Content-Transfer-Encoding: 8bit\n\n";
    $msg .= $html_msg;
     
    // Boundary di terminazione multipart/alternative
    $msg .= "\n--$mail_boundary--\n";
    $result mysql_query("select email from mailing_list");
    while (
    $to mysql_fetch_array($resultMYSQL_NUM)) {
    if (
    mail($to[0], $subject$msg$headers,"-f$sender"))   
    { } 
    else { 
        
    $page 'newsLetterKo.php';
        
    header("Location: $page");
        exit;
        }
    }
    $page 'newsLetterOk.php';
    header("Location: $page");
    }
    ?>
    ed infine il file.php che invia e processa la mail inviandola a tutti quanti...il file addnewsletter.php

    Codice PHP:
    <?php
    session_start
    ();
    $nick $_SESSION['nick'];  
        
    header("Location: index.html");
    include_once(
    './include/config.php');
    include_once(
    './include/function.php');
    global 
    $_CONFIG;
    ?>

    <?php
    $body 
    trim(str_replace("'""\'",$_POST['editor1']));
    $result mysql_query("INSERT INTO newsletter (`id`, `testo`)    VALUES(NULL,'".$body."')");
    $textSend mysql_query("select testo from newsletter where id=".mysql_insert_id());
    $row mysql_fetch_row($textSend);
    sendMail($row[0]);
    ?>
    infine dato che sei stato gentilissimo nel volermi dare una mano con lo script di swift mail, ho provato a vedere se con quell'esempio che mi hai fornito riuscivo a tirare giù qualcosa e

  4. #24
    grazie santino per l'aiuto che mi stai dando, attualmente io ho l'invio costituito da due file, il primo file è quello che ho postato io nei giorni scorsi, dove creava il corpo del messaggio quindi function.php che viene richiamato al momento dell'invio dal file addnewsletter.php, questo file dentro ha del codice php che prende inserisce nella colonna newsletter il corpo del messaggio e lo riprende successivamente sotto forma di array per poi inviarlo. Quindi nel file Function avrò il corpo del messaggio nel file addNewsletter invece inserisco nel corpo il contenuto che ho scritto oppure caricato nel server quali immagini piuttosto che intestazioni. alla fine con il comando sendmail lui prende ed invia la mail... riassumo il tutto inserendovi allo stato attuale i file come sono formati sia upload che function che l'invio della mail... spero santino di non averti rotto troppo le scatole... XD XD XD XD. ma la voglia di imparare è tanta, quella di fare pure... ed i manuali li ho praticamente logorati su internet XDXDXD

    Upload.php ossia l'inserimento nel server di eventuali immagini...
    Codice PHP:
    <?php

    // Optional: instance name (might be used to adjust the server folders for example)
    $CKEditor $_GET['CKEditor'] ;

    // Required: Function number as indicated by CKEditor.
    $funcNum $_GET['CKEditorFuncNum'] ;

    // Optional: To provide localized messages
    $langCode $_GET['langCode'] ;

    // ------------------------
    // Data processing
    // ------------------------

    // The returned url of the uploaded file
    $url '' ;

    // Optional message to show to the user (file renamed, invalid file, not authenticated...)
    $message '';

    // In FCKeditor the uploaded file was sent as 'NewFile' but in CKEditor is 'upload'
    if (isset($_FILES['upload'])) {
        
    //Controlli
        
    if(!($_FILES['upload']['type'] == "image/jpg") && !($_FILES['upload']['type'] == "image/jpeg") && !($_FILES['upload']['type'] == "image/png")){
            exit(
    "Bisogna caricare un'immagine");
        }
            
    $percorso "./upload/";
            
    $nomenew $percorso.$_FILES['upload']['name'];
            
    $url=$nomenew;
            
    //qui ci sarà il path assoluto dell'immagine
            
    $nometemp $_FILES['upload']['tmp_name'];
            
    $inviato=file_exists($nometemp);
    //verifica se il file è stato caricato sul server

    if ($inviato) {

        
    move_uploaded_file($nometemp,$nomenew);
        echo 
    "<script type='text/javascript'> window.parent.CKEDITOR.tools.callFunction(1, '$nomenew', '$message')</script>";
     
        } else {
    exit (
    "KO");
        }
            
    }
    else
    {
        
    $message 'No file has been sent';
    }
    ?>
    Function.php ossia la creazione del corpo messaggio...
    Codice PHP:
    <?php
        
    function reg_get_unique_id()
        {
            
    //restituisce un ID univoco per gestire la registrazione
            
    list($usec$sec) = explode(' 'microtime());
            
    mt_srand((float) $sec + ((float) $usec 100000));
            return 
    md5(uniqid(mt_rand(), true));
        }
        
        function 
    ricava_titolo($body)
        {
            
    $supp trim(str_replace(array("\r","\n","\t"), ""$body));
            
    preg_match_all("(<div><h1(.*?)</h1>)"$supp $risultato);
            
    $str explode(">"strip_tags$risultato[1][0]));
            return 
    $str[1];
        }
        
        function 
    sendMail($text)
        {
            
    error_reporting(E_ALL);

            
    // Genera un boundary
            
    $mail_boundary "=_NextPart_" md5(uniqid(time()));
     
            
    $subject "Newsletter";
            
    $sender "newsletter@miosito.it";

     
    $headers "From: $sender\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/alternative;\n\tboundary=\"$mail_boundary\"\n";
    $headers .= "X-Mailer: PHP " phpversion();
     
    // Corpi del messaggio nei due formati testo e HTML
    $html_msg "<html></head><body><div>".$text."</div></body></html>";
    $msg "";
    $msg .= "\n--$mail_boundary\n";
    $msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $msg .= "Content-Transfer-Encoding: 8bit\n\n";
    $msg .= $html_msg;
     
    // Boundary di terminazione multipart/alternative
    $msg .= "\n--$mail_boundary--\n";
    $result mysql_query("select email from mailing_list");
    while (
    $to mysql_fetch_array($resultMYSQL_NUM)) {
    if (
    mail($to[0], $subject$msg$headers,"-f$sender"))   
    { } 
    else { 
        
    $page 'newsLetterKo.php';
        
    header("Location: $page");
        exit;
        }
    }
    $page 'newsLetterOk.php';
    header("Location: $page");
    }
    ?>
    ed infine il file.php che invia e processa la mail inviandola a tutti quanti...il file addnewsletter.php
    Codice PHP:
    <?php
    session_start
    ();
    $nick $_SESSION['nick'];  
        
    header("Location: index.html");
    include_once(
    './include/config.php');
    include_once(
    './include/function.php');
    global 
    $_CONFIG;
    ?>

    <?php
    $body 
    trim(str_replace("'""\'",$_POST['editor1']));
    $result mysql_query("INSERT INTO newsletter (`id`, `testo`)    VALUES(NULL,'".$body."')");
    $textSend mysql_query("select testo from newsletter where id=".mysql_insert_id());
    $row mysql_fetch_row($textSend);
    sendMail($row[0]);
    ?>
    infine dato che sei stato gentilissimo nel volermi dare una mano con lo script di swift mail, ho provato a vedere se con quell'esempio che mi hai fornito riuscivo a tirare giù qualcosa e questo è quello che è venuto fuori...
    Codice PHP:
    <?php
    //in function.php 

    //ho fatto l'upload della foto e conosco la path in $path_image 

    require_once('/lib/swift_required.php'); 


    $result mysql_query("select email from mailing_list");
    $to mysql_fetch_array($resultMYSQL_NUM);

    $protocollo 'smtp'//puoi scegliere tra smtp e sandmail 

    $transport null

    if(
    $protocollo == 'smtp')


        
    $transport Swift_SmtpTransport::newInstance('smtp.reginald-aui.it',25); 
        
    //$transport->setUsername('pippo'); 
        //$transport->setPassword('pluto'); 

    }

    /*else{ //sendmail 
         
        $cmd_sendmail = '/usr/sbin/sendmail -bs'; 
        $transport = Swift_SendmailTransport::newInstance($cmd_sendmail); 

    }*/ 
    $body trim(str_replace("'""\'",$_POST['editor1']));
    $inserimento mysql_query("INSERT INTO newsletter (`id`, `testo`)    VALUES(NULL,'".$body."')");
    $textSend mysql_query("select testo from newsletter where id=".mysql_insert_id());
    $row mysql_fetch_row($textSend);

    $mailer Swift_Mailer::newInstance($transport);  //creo l'oggetto che invierà fisicamente la mail 

    $mail Swift_Message::newInstance(); //creo la mail 

    //setto il charset 
    $mail->setCharset('UTF-8'); 

    //aggiungo il messaggio di testo 
    $mail->setFrom('newsletter@reginald-aui.it'); 
    $mail->setTo($to[0]); 
    $mail->setSubject('Newsletter Teatro Reginal A.U.I.');
    $mail->setBody($row[0],'text/html'); 

    //aggiungo l'attachment 
    $attachment Swift_Attachment::fromPath('./upload/image.jpg''image/jpeg');
    $mail->attach($attachment); 

    //invio
    $mailer->send($mail)
    if (
    mail($mailer->send($mail))   
    { } 
    else { 
        
    $page 'newsLetterKo.php';
        
    header("Location: $page");
        exit;
        }
    }
    $page 'newsLetterOk.php';
    header("Location: $page");
    }


    ?>
    mmmmh continua a non vedermi gli allegati con swift mail e le mail non le invia proprio mentre nel primo caso, la mail testuale la invia, ma l'allegato sempre per il fatto del content-type mancante non vede l'allegato... l'idea di una libreria che mi smazzava i vari processi mi intrigava e continua ad farlo ancora parecchio. Grazie per qualsiasi eventuale risposta ^^

  5. #25
    chiedo scusa per il doppione del messaggio, l'ultimo è quello buono, XD ho già segnalato il problema alla mail forum@html.it chiedo scusa a tutti...

  6. #26
    FireFox, come ti ho scritto nell'esempio, invece di fare il comando mail, sostanzialmente devi usare il codice che ti ho scritto io...in particolare sostituendo nel codice mio questa riga:

    Codice PHP:
    $mailer->send($mail); 
    con

    Codice PHP:

    $failures 
    null;

    $mailer->send($mail,$failures);

    if(
    $failures){
    //errore sull'invio
    }else{
    //invio riuscito

    quindi devi modificare la tua function send_mail in maniera congrua...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #27
    ah ok grazie mille....

  8. #28
    dopo le dovute modifiche sono riuscito ad inviare una mail, anche solo di testo, il motivo di tanta delusione sta nel fatto che... gli allegati non vengono processati... continua a generarmi come codice di errore, la seguente stringa...:

    Could not access file: http://www.miosito.it/upload/nomedelfile.jpg che risulta essere correttamente il path di dove sono caricate le immagini, esattamente nella cartella ./upload/ del sito...

    mmmmh aiuti??? o delucidazioni???

    quel could not access a cosa può ricondursi?

  9. #29
    Originariamente inviato da FireFox_07
    dopo le dovute modifiche sono riuscito ad inviare una mail, anche solo di testo, il motivo di tanta delusione sta nel fatto che... gli allegati non vengono processati... continua a generarmi come codice di errore, la seguente stringa...:

    Could not access file: http://www.miosito.it/upload/nomedelfile.jpg che risulta essere correttamente il path di dove sono caricate le immagini, esattamente nella cartella ./upload/ del sito...

    mmmmh aiuti??? o delucidazioni???

    quel could not access a cosa può ricondursi?
    chi è che lo dice questo errore? a che riga dello script? com'è il messaggio completo di errore?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #30
    ahahahahaha nessun'errore... semplicemente non dà accesso alla root, lo ha fatto con swift-mail con il phpmail e anche con phpmailer... inoltre l'invio di per se lo fà correttamente nel senso che prende ed invia la mail testuale o html che sia, ma al momento di leggere il file allegato gli fa schifo... ho fatto diverse prove a riguardo ed in una addirittura sembrava avessi vinto io la battaglia ^^ mi stampava a video l'immagine che avevo uppato... quindi prendevo caricavo l'immagine nel server, cliccavo invia e la pagina php di rimando mi restutiva semplicemente Could not access: con l'immagine che avevo uppato...senza nessun'altro messaggio di errore oppure numero di riga sbagliata...

    tutti i test sono fatti on-line, su server di aruba... quindi non capisco proprio cosa possa essere che non vada, forse i permessi di accesso???
    ma se così fosse in tal caso come si potrebbe ovviare. Ieri sera o meglio questa notte verso le 2:30 mi pareva di aver intraletto circa dei file .htaccess ed .htpassword... però sinceramente ero troppo stanco XD XD

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.