Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Invio multiplo di email con html e allegato

    Ciao Raga,
    Ho bisogno di aiuto prima d'impazzire.

    Quello che vorrei fare è inviare una email a più utenti registrati prelevando gli indirizzi e-mail da una tabella MySQL ( in BCC, non vorrei farli vedere ai destinatari)

    Fin'ora sono riuscito con lo script sotto riportato a prelevare il testo dalla pagina news.php come volevo ma purtroppo posso farlo funzionare solo se vado a scrivere nella variabile $e l'indirizzo email.

    Qualcuno può aiutarmi ? Senza ricorerre a nessuna classe tipo phpmailer o altro ?



    code -------


    <?php include'news.php'; ?>
    <?
    $mess="$testo";

    /*Nella variabile $mess va inserito tutto il codice html che comporrà il corpo dell'email che si vuole inviare. Come nell'esempio si possono utilizzare anche i fogli di stile.*/

    $e="pippo@pippo.it";/*Inserire l'indirizzo email a cui si vuole spedire l'email*/
    $ogg="Newsletters Fitnessclubs"; /*Inserire l'oggetto dell'email da spedire*/
    $mittente="www.fitnessclubs.it"; /*Inserire l'indirizzo email che verrà visulaizzato come mittente dell'email*/
    $reply="info@fitnessclubs.it"; /*Inserire l'indirizzo email a cui verranno inviate le risposte all'email inviata*/

    $titolo="news.pdf"; /*Inserire il nome che si vuole dare all'allegato*/
    $f="news.pdf"; /*Inserire l'indirizzo del file che si vuole inviare come allegato*/
    $filetype="application/pdf"; /*Inserire il formato MIME del file da allegare*/



    /*Non modificare nulla al di sotto di questa linea*/

    $intestazioni = "From: $mittente\nReply-To: $reply\nX-Mailer: Sismail Web Email Interface\nMIME-version: 1.0\nContent-type: multipart/mixed;\n boundary=\"Message-Boundary\"\nContent-transfer-encoding: 7BIT\nX-attachments: $titolo";

    $body_top = "--Message-Boundary\n";
    $body_top .= "Content-type: text/html; charset=iso-8859-1\n";
    $body_top .= "Content-transfer-encoding: 7BIT\n";
    $body_top .= "Content-description: Mail message body\n\n";

    $msg_body = $body_top . $mess;

    $filez = fopen($f, "r");
    $contents = fread($filez, filesize($f));
    $encoded_attach = chunk_split(base64_encode($contents));
    fclose($filez);

    $msg_body .= "\n\n--Message-Boundary\n";
    $msg_body .= "Content-type: $filetype; name=\"$titolo\"\n";
    $msg_body .= "Content-Transfer-Encoding: BASE64\n";
    $msg_body .= "Content-disposition: attachment; filename=\"$titolo\"\n\n";
    $msg_body .= "$encoded_attach\n";
    $msg_body .= "--Message-Boundary--\n";

    if(!(@mail($e,$ogg,$msg_body, $intestazioni))){
    print "<H5>Invio della email fallito.</H5>";}
    ?>

    code -------


  2. #2
    prova così:
    Codice PHP:
    <?php include'news.php'?>
    <?
    $mess
    ="$testo";

    /*Nella variabile $mess va inserito tutto il codice html che comporrà il corpo dell'email che si vuole inviare. Come nell'esempio si possono utilizzare anche i fogli di stile.*/

    $e="pippo@pippo.it";/*Inserire l'indirizzo email a cui si vuole spedire l'email*/
    $ogg="Newsletters Fitnessclubs"/*Inserire l'oggetto dell'email da spedire*/
    $mittente="www.fitnessclubs.it"/*Inserire l'indirizzo email che verrà visulaizzato come mittente dell'email*/
    $reply="info@fitnessclubs.it"/*Inserire l'indirizzo email a cui verranno inviate le risposte all'email inviata*/

    $titolo="news.pdf"/*Inserire il nome che si vuole dare all'allegato*/
    $f="news.pdf"/*Inserire l'indirizzo del file che si vuole inviare come allegato*/
    $filetype="application/pdf"/*Inserire il formato MIME del file da allegare*/



    /*Non modificare nulla al di sotto di questa linea*/

    $intestazioni "From: $mittente\nBcc: $e\nReply-To: $reply\nX-Mailer: Sismail Web Email Interface\nMIME-version: 1.0\nContent-type: multipart/mixed;\n boundary=\"Message-Boundary\"\nContent-transfer-encoding: 7BIT\nX-attachments: $titolo";

    $body_top "--Message-Boundary\n";
    $body_top .= "Content-type: text/html; charset=iso-8859-1\n";
    $body_top .= "Content-transfer-encoding: 7BIT\n";
    $body_top .= "Content-description: Mail message body\n\n";

    $msg_body $body_top $mess;

    $filez fopen($f"r");
    $contents fread($filezfilesize($f));
    $encoded_attach chunk_split(base64_encode($contents));
    fclose($filez);

    $msg_body .= "\n\n--Message-Boundary\n";
    $msg_body .= "Content-type: $filetype; name=\"$titolo\"\n";
    $msg_body .= "Content-Transfer-Encoding: BASE64\n";
    $msg_body .= "Content-disposition: attachment; filename=\"$titolo\"\n\n";
    $msg_body .= "$encoded_attach\n";
    $msg_body .= "--Message-Boundary--\n";

    if(!(@
    mail("tuamail@alice.it",$ogg,$msg_body$intestazioni))){
    print 
    "<H5>Invio della email fallito.</H5>";}
    ?>
    per comodità al primo argomento della funzione mail passa la tua email e nelal varibile $e metti tutti i vari destinatari....dovrebbe funzioanre...

  3. #3
    ok !
    Risolto il problema della visione di tutti gli indirizzi e-mail (anche se non riesco a capire se realmente l'e-mail viene spedita al destinatario )
    Ma come faccio a prelevare gli indirizzi e-mail dal db ed effttuare un invio multiplo ?










    .

  4. #4
    puoi fare uan cosa così:
    Codice PHP:
    $result=mysql_query("SELECT email FROM users"$db);
    $e='';
    while(
    $row mysql_fetch_array($result)){
       
    $e.=$row['email'].", ";
    }
    $esubstr($e,0,-2); //questo serve a tolgiere l'ultima virgola 
    ps
    ovviamnete la mia query è solo una supposizione...non so come è fatto il tuo database...

  5. #5
    Grazie SoulHome,
    Purtroppo non riesco a provarlo subito, penso di riuscire in serata e ti faccio sapere.


  6. #6
    Purtroppo non funge !!
    Se inserisco un solo indirizzo per volta è ok !

    Ma se provo inserendo il ciclo while che mi prende tutti gli indirizzi dalla tabella relativa mi va in errore.

  7. #7
    AIUTO !!!

    Ricapitolando:
    Questo script riesce ad inviare una e-mail all'indirizzo specificato ( una sola e-mail alla volta ) in BCC con un allegato in pdf e il corpo del messaggio in html.
    Adesso mi manca solo il prelevamento dalla tabella MySQL di tutti gli indirizzi e-mail degli utenti registrati, e inviarli in un colpo solo a tutti.

    Come se fa ?!!


    code ----------

    <?php include'news.php'; ?>
    <?
    $mess="$testo";

    /*Nella variabile $mess va inserito tutto il codice html che comporrà il corpo dell'email che si vuole inviare. Come nell'esempio si possono utilizzare anche i fogli di stile.*/

    //$e="";/*Inserire l'indirizzo email a cui si vuole spedire l'email*/

    $e="pippo@pippo.it";
    $ogg="Newsletters website"; /*Inserire l'oggetto dell'email da spedire*/
    $mittente="www.website.it"; /*Inserire l'indirizzo email che verrà visulaizzato come mittente dell'email*/
    $reply="info@website.it"; /*Inserire l'indirizzo email a cui verranno inviate le risposte all'email inviata*/

    $titolo="news.pdf"; /*Inserire il nome che si vuole dare all'allegato*/
    $f="news.pdf"; /*Inserire l'indirizzo del file che si vuole inviare come allegato*/
    $filetype="application/pdf"; /*Inserire il formato MIME del file da allegare*/



    /*Non modificare nulla al di sotto di questa linea*/

    $intestazioni = "From: $mittente\nBcc: $e\nReply-To: $reply\nX-Mailer: Sismail Web Email Interface\nMIME-version: 1.0\nContent-type: multipart/mixed;\n boundary=\"Message-Boundary\"\nContent-transfer-encoding: 7BIT\nX-attachments: $titolo";

    $body_top = "--Message-Boundary\n";
    $body_top .= "Content-type: text/html; charset=iso-8859-1\n";
    $body_top .= "Content-transfer-encoding: 7BIT\n";
    $body_top .= "Content-description: Mail message body\n\n";

    $msg_body = $body_top . $mess;

    $filez = fopen($f, "r");
    $contents = fread($filez, filesize($f));
    $encoded_attach = chunk_split(base64_encode($contents));
    fclose($filez);

    $msg_body .= "\n\n--Message-Boundary\n";
    $msg_body .= "Content-type: $filetype; name=\"$titolo\"\n";
    $msg_body .= "Content-Transfer-Encoding: BASE64\n";
    $msg_body .= "Content-disposition: attachment; filename=\"$titolo\"\n\n";
    $msg_body .= "$encoded_attach\n";
    $msg_body .= "--Message-Boundary--\n";

    if(!(@mail("ListNewsletters@website.it",$ogg,$msg_ body, $intestazioni))){
    print "<H5>Invio della email fallito.</H5>";} else { print "<H5>email inviata correttamente.</H5>";}
    ?>

    code ----------










    .

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 © 2025 vBulletin Solutions, Inc. All rights reserved.