Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: inviare email multiple

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    58

    inviare email multiple

    Salve a tutti, avrei bisogno di inviare delle email collettive a un numero non ben definito di utenti.
    Una specie di newsletter. Ovviamente ho bisogno di mascherare tutti i riceventi.

    Qualcuno mi sa dire se per una cosa del genere può bastare la classica funzione php


    Codice PHP:
    mail() 
    oppure devo fare qualcosa di più robusto e complesso.

    Grazie a tutti.
    Ciao

  2. #2
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Per mascherare i riceventi li inserisci come indirizzi bcc. Per inviare agli indirizzi bcc puoi usare la semplice funzione mail() di php, però ti consiglio di utilizzare una classe che aiuta a gestire molto meglio l'invio di email, si chiama PHPMailer.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    58
    Ti ringrazio, ottimo suggerimento.
    Pensi che con questa classe possa inviare mail cumulative senza avere problemi con il server o senza perdermene qualcuna per strada???
    Secondo te mi conviene usare mail() oppure settare un SMTP?
    Ora la scarico e vedo cosa riesco a fare...

    Grazie
    Ciao

  4. #4
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Originariamente inviato da nebumix
    Pensi che con questa classe possa inviare mail cumulative senza avere problemi con il server o senza perdermene qualcuna per strada???
    Secondo te mi conviene usare mail() oppure settare un SMTP?
    Ora la scarico e vedo cosa riesco a fare...
    Dipende dal server, prova a inviarle con PHPMailer senza SMTP: qui trovi un esempio su come fare; per aggiungere i destinatari BCC sotto a $mail->AddAddress metti $mail->AddBCC .
    (comunque devi mettere almeno un destinatario NON BCC, puoi mettere un tuo indirizzo).
    Prova innanzitutto a inviarle a indirizzi qualunque e poi a quelli hotmail, per vedere se il server di hotmail blocca quello su cui risiede il tuo sito (con la maggior parte dei server purtroppo c'è questo problema).

    Se agli indirizzi normali arrivano e a hotmail no, allora setta come SMTP un server che non sia bloccato da hotmail, come gmail, yahoo, libero, ... (qui trovi un esempio con SMTP settato)

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    58
    Ciao, ti ringrazio per il tuo aiuto, penso che sia una soluzione ottima.
    Purtroppo però ho problemi a utilizzare la classe, non capisco perchè.
    Se scarico il pacchetto per php4 mi risultano un sacco di errori per via delle funzioni deprecate, se invece scarico il pacchetto per php5, oltre a non essere presenti tutti gli esempi che sono presenti nel 4, non riesco a usare nemmeno quella.
    Intanto non capisco se il file della classe è lo stesso, visto che sembra che a seconda delle versioni si chiami in modo differente, nel pacchetto 5 il file da includere credo che sia phpmailer.inc.php, mentre nel pacchetto 4 e in tutte le guide relative al 5 presenti sul sito ufficiale ci si riferisce sempre al file class.phpmailer.php.
    Comunque se anche provo a includere il file phpmailer.inc.php non riesco a far funzionare niente.

    E' possibile che non abbia capito niente di come includere questa classe??

    L'errore che mi viene restituito è questo:

    codice:
    Fatal error: Cannot access empty property in phpmailer/phpmailer.inc.php on line 271
    mentre il codice che ho copiato dagli esempi, per prova è questo:


    Codice PHP:
    <?php

    require_once("phpmailer/phpmailer.inc.php");

    $mail = new PHPMailer();

    $mail->From     "email@gmail.com";
    $mail->AddAddress("emailricevente@gmail.com");

    $mail->Subject  "First PHPMailer Message";
    $mail->Body     "Hi! \n\n This is my first e-mail sent through PHPMailer.";
    $mail->WordWrap 50;

    if(!
    $mail->Send()) {
      echo 
    'Message was not sent.';
      echo 
    'Mailer error: ' $mail->ErrorInfo;
    } else {
      echo 
    'Message has been sent.';
    }

    ?>

    Ciao

  6. #6
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Sembrerebbe che il link sul loro sito per la versione php 5 sia sbagliato, in quanto ti rimanda a una vecchia versione. Il link corretto per l'ultima versione è questo:
    http://sourceforge.net/projects/phpm...1.zip/download
    e il file da includere (se scarichi dal link che ti ho dato) è 'class.phpmailer.php' e questo è un esempio:
    Codice PHP:
    $mail = new PHPMailer(true); //New instance, with exceptions enabled

    $body             'testo email';

    // decommenta il seguente blocco di codice commentato se vuoi usare un server SMTP e imposta i valori

    /*
    $mail->IsSMTP();                           // tell the class to use SMTP
    $mail->SMTPAuth   = true;                  // enable SMTP authentication
    $mail->Port       = 25;                    // set the SMTP server port
    $mail->Host       = "mail.yourdomain.com"; // SMTP server
    $mail->Username   = "name@domain.com";     // SMTP server username
    $mail->Password   = "password";            // SMTP server password

    $mail->IsSendmail();  // tell the class to use Sendmail
    */

    $mail->AddReplyTo("name@domain.com","First Last");

    $mail->From       "name@domain.com";
    $mail->FromName   "First Last";

    $to "someone@example...com";

    $mail->AddAddress($to);

    $mail->Subject  "First PHPMailer Message";

    $mail->AltBody    "To view the message, please use an HTML compatible email viewer!"// optional, comment out and test
    $mail->WordWrap   80// set word wrap

    $mail->MsgHTML($body);

    $mail->IsHTML(true); // send as HTML

    $mail->Send(); 

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    58
    Fantastico!!! Ho scaricato dal link che mi hai dato tu e funziona tutto perfettamente.

    Gia che ci sono, ti chiedo anche, la differenza fondamentale dall'utilizzare un smtp o no è dato esclusivamente dal fatto che alcune mail potrebbero riconoscere le mie email come spam?

    Grazie mille!!!

    Ciao

  8. #8
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Prego, non c'è di che, sono contento di aiutare il prossimo quando posso!

    Se hai problemi di invio, alcune mail vengono riconosciute come spam o non arrivano (specialmente su hotmail) allora collegati a un server SMTP famoso e affidabile come gmail, yahoo, libero,... così stai certo che arrivano anche a chi ha hotmail.
    Prima prova a inviare le email a diversi indirizzi, soprattutto hotmail, se vedi che vanno in spam o non arrivano proprio allora prova a collegarti a un server SMTP.


  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    58
    Ciao, Mi sembra che funga tutto perfettamente, ti ringrazio per tutto. Ora cerco di capire meglio come funziona e poi faccio i test con hotmail.

    Ho provato a inviare una mail singola e funziona tutto perfettamente, ho provato a usare anche il metodo AddAddress e funziona bene però vedo tutti i destinatari, mentre se utilizzo AddBCC mi arrivano le mail un po' strane, come se non avessero un destinatario, però ovviamente ce l'hanno, altrimenti non arriverebbero, e in più mi arriva solo a un indirizzo.

    Sto pensando di estrarre tutti i destinatari delle mail e, facendoli ciclare, inviare una mail a ognuno...
    Magari dividendoli in piccoli gruppi da non più di 100 persone. Pensi che in questo modo si possa appesantire troppo il server?

    Ti ringrazio ancora per tutto.
    Ciao

  10. #10
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Strano che ti arrivi a un solo indirizzo. Hai messo un'indirizzo con AddAddress e subito dopo gli altri AddBCC prima di Send() ?
    Se le email le invii tutte insieme, cioè con addaddress o addbcc e un solo Send() penso che si appesantisca un po' meno, però dipende tutto dal server. L'unico suggerimento che posso darti è quello di effettuare diverse prove.


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.