Repository 32bit  Forum
Repository 64bit  Wiki

Funzione (mail) PHP5

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Re: Funzione (mail) PHP5

Messaggioda puzuma » gio gen 10, 2008 17:21

sembra nell'ottica "non riscopriamo l'acqua calda" ti suggerisco di dare un'occhiata al framework della zend:

http://framework.zend.org

è un ottimo frmework che implementa il pattern MVC, non siamo ancora ai livelli di ruby on rails ma ci stiamo avvicinando.

ha anche un modulo mail che gestisce attachment e codifica caratteri in modo trasparente.

Ciao, Stefano

P.S Zend sono quelli che hanno sviluppano php ...
The quiet ones are the ones who change the world. The loud ones only take the credit.
Avatar utente
puzuma
Linux 2.4
Linux 2.4
 
Messaggi: 480
Iscritto il: mar lug 04, 2006 16:14
Località: Udine
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0

Re: Funzione (mail) PHP5

Messaggioda nuitari » gio gen 10, 2008 17:53

Ruby on rails è cacca.
Sviluppo tutti i giorni insieme ad un tizio che usa ruby E rails, e rails fa vearmente schifo. A parte i bug, a parte le limitazioni, a parte il team di sviluppo ridicolo... è veramente una cosa per principianti.

Usa il mio di framework :p \:D/
Avatar utente
nuitari
Linux 2.6
Linux 2.6
 
Messaggi: 777
Iscritto il: dom ott 14, 2007 11:51
Località: San Colombano al Lambro
Slackware: 12.0

Re: Funzione (mail) PHP5

Messaggioda conraid » gio gen 10, 2008 18:17

nuitari ha scritto:Vedi perchè è utile usare una classe all-purpose? Se hai delle librerie (che siano classi o meno) programmate come si deve, non ha scopo riscrivere ed inventare ogni volta l'acqua calda.. è già tutto li dentro. E non è che usi chissà quali risorse immani.....


Lo so, ma in quel caso si tratta di una riga.
E molti usano classi e poi magari non settano correttamente i content-type nelle instestazioni HTTP, modificando solamente il codice HTML.
Comunque si, le classi aiutano, ma non le so usare :p
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12016
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Funzione (mail) PHP5

Messaggioda nuitari » gio gen 10, 2008 18:22

Ecco un esempio di uso di phpmailer... mi pare banale =) e comunque la uso perchè implementa correttamente le RFC .


Codice: Seleziona tutto
$mail = new PHPMailer();
$mail->SetLanguage("it", $disk_path . "/sources/phpmailer/language/");
$mail->From     = $oComponent[0]->form_fields["email"]->getValue();
$mail->FromName = $oComponent[0]->form_fields["nome"]->getValue();
$mail->Mailer   = "smtp";
$mail->SMTPAuth   = TRUE;
$mail->Username   = MODULE_FORMTOMAIL_USERNAME;
$mail->Password   = MODULE_FORMTOMAIL_PASSWORD;
$mail->Subject   = MODULE_FORMTOMAIL_SUBJECT;
$mail->Host      = MODULE_FORMTOMAIL_SMTP;

$txt_mail = $tpl->rpparse("main", false);
$mail->Body    = $txt_mail;

$mail->ResetAddress();
$mail->AddAddress(MODULE_FORMTOMAIL_TO_MAIL, MODULE_FORMTOMAIL_TO_NAME);

if($mail->Send())
{
   FormsRedirect($oPage->title, $site_path . "/formtomail_success", $oPage->theme);
}
else
{
   FormsRedirect($oPage->title, $site_path . "/formtomail_unsuccess", $oPage->theme);
}
Avatar utente
nuitari
Linux 2.6
Linux 2.6
 
Messaggi: 777
Iscritto il: dom ott 14, 2007 11:51
Località: San Colombano al Lambro
Slackware: 12.0

Re: Funzione (mail) PHP5

Messaggioda puzuma » gio gen 10, 2008 21:20

nuitari ha scritto:Ruby on rails è cacca.


preferisco non commentare queste affermazione non motivate da persone che evidentemente non hanno mai sviluppato seriamente per il web.

nuitari ha scritto:Sviluppo tutti i giorni insieme ad un tizio che usa ruby E rails, e rails fa vearmente schifo. A parte i bug, a parte le limitazioni, a parte il team di sviluppo ridicolo... è veramente una cosa per principianti.


sei matto, non hai capito niente della filosofia di rails: "convention over configuration": hai subito tutto pronto e funzionante, poi hai tutta la potenza di ruby (che è tanta) a disposizione, php è anni luce indietro e alla zend lo sanno.

ti assicuro che _io_ non sono un principiante.
The quiet ones are the ones who change the world. The loud ones only take the credit.
Avatar utente
puzuma
Linux 2.4
Linux 2.4
 
Messaggi: 480
Iscritto il: mar lug 04, 2006 16:14
Località: Udine
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0

Re: Funzione (mail) PHP5

Messaggioda samiel » gio gen 10, 2008 21:31

Se quello mandato da ninobi ti funziona non ti mando il mio, fammi sapere
alla fine fanno tutti la stessa cosa più o meno, ed io non ho soluzioni per netsons

Ne hai uno senza MySQL?
Grazie
M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Funzione (mail) PHP5

Messaggioda conraid » gio gen 10, 2008 21:36

samiel ha scritto:
Se quello mandato da ninobi ti funziona non ti mando il mio, fammi sapere
alla fine fanno tutti la stessa cosa più o meno, ed io non ho soluzioni per netsons

Ne hai uno senza MySQL?


Mysql??
quello che ti ho mandato in PM non usa MySQL
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12016
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Funzione (mail) PHP5

Messaggioda nuitari » gio gen 10, 2008 23:28

puzuma ha scritto:bla bla bla


Eheh ma dimmi, per caso rails è la tua mamma ed io ho insultato la tua mamma? O forse è la tua squadra di calcio ed ho insultato la tua fede?
E' un software, uno fra tanti, non il più nuovo e sicuramente non l'ultimo.

TOH! leggiti qualcosa d'istruttivo: http://www.zedshaw.com/rants/rails_is_a_ghetto.html

Adesso dimmi: secondo te, un framework che non permette cose banali come... che so, 'upload concorrente dei file cos'è? cacca dico io.

EDIT:
Adesso capisco, ti sei tirato in causa perchè ho detto che è una cosa per principianti ^^ Che ti devo dire... lo penso. Non penso che tu sia un principiante, non ti conosco, non posso sostenerlo. Ma penso che rails sia una dei software più sopravvalutati di questo decennio.
Sviluppo da anni, ho sviluppato un framework io stesso (in PHP) per la programmazione web e dopo essermi confrontato per mesi con una persona innamorata di Rails, avergli dato credito e fiducia ed averlo visto gradualmente disinnamorarsi di fronte a bug, imperfezioni e mancanze, fino a ripiegare solo su active records, fino ad abbandonarlo completamente active records incluso, posso sostenere a ragion veduta che è un giocattolo, niente di più.
Avatar utente
nuitari
Linux 2.6
Linux 2.6
 
Messaggi: 777
Iscritto il: dom ott 14, 2007 11:51
Località: San Colombano al Lambro
Slackware: 12.0

Re: Funzione (mail) PHP5

Messaggioda samiel » ven gen 11, 2008 1:34

Mysql??
quello che ti ho mandato in PM non usa MySQL

Non mi è arrivata la notifica, dunque non lo sapevo...
Mi riferivo a quello di Ninobi.
Grazie, adesso vedo, o forse melgio domani
che ormai è l'una e mezza passata...

Ciao e grazie
M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Funzione (mail) PHP5

Messaggioda aschenaz » ven gen 11, 2008 8:22

Questo è senza mysql (non l'ho testato in seguito alle modifiche, ma ad occhio e croce dovrebbe andare).
Seguendo il consiglio di conraid, ho messo il charset in header...

Codice: Seleziona tutto
    // modifica queste variabili
    $to="destinatario-email";
    $mitt="mittente"; // inserisci un'email fissa: es. admin@dominio
    $site="nomesito";
    $paginaform="indirizzopaginadelform";

    $nm=trim($_POST["nome"]);
    $cg=trim($_POST["cognome"]);
    $em=trim($_POST["email"]);
    isset($_POST["telefono"]) ? $tl=trim($_POST["telefono"]) : $tl=0;
    $tx=wordwrap(trim($_POST["testo"]),70);
    if($nm=="" | $em=="" | $cg=="" | $tx=="") {
       $paginaform.="&messaggio=campo-richiesto";
       // devi impostare la visualizzazione del messaggio nel form
       // naturalmente io ho messo & perché suppongo ci sia già un ? nella querystring
       // altrimenti sostituisci (qui e sotto) & con ?
       header("Location: $paginaform");
       exit();
    } elseif(!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$em)) {
       $paginaform.="&messaggio=email-non-valida";
       header("Location: $paginaform");
       exit();
    } else {
       $sub="Contatti sito $site";
       $headers = "MIME-Version: 1.0\r\n";
       $headers .= 'Content-type: text/plain; charset=iso-8859-1' . "\r\n";
       $headers .= 'From: $mitt\r\n";
       $headers .= 'Reply-To: $em\r\n";
    $message=<<<EOM

    Hai ricevuto un contatto dal sito $site
    -------------------------------------------------------------------
    Da:\t$mnm $cg
    E-mail:\t$em
    Telefono:\t$tl
    -------------------------------------------------------------------
    Contenuto del messaggio:
    -------------------------------------------------------------------
    $tx
    EOM;

    if(mail($to,$sub,$message,$headers)) {
       $paginaform.="&messaggio=messaggio-inviato";
       header("Location: $paginaform");
       exit();
    } else {
       $paginaform.="&messaggio=invio-fallito";
       header("Location: $paginaform");
       exit();
    }
Ultima modifica di aschenaz il ven gen 11, 2008 9:29, modificato 1 volta in totale.
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4423
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.16
Desktop: KDE 4.10.5

Re: Funzione (mail) PHP5

Messaggioda puzuma » ven gen 11, 2008 9:25

@nuitari
no, mi sono inca***o perchè _io_ tentavo di essere utile consigliando una classe in php scritta e testata da chi sviluppa il motore di php, non la solita classetta sviluppata dall'ennesimo programmatore con problemi di ego.

rails l'avevo solo accennato e tu ti sei scagliato contro (peraltro senza portare esempi tecnici a parte "cacca") andando completamente offtopic (atteggiamento tipico da troll). per inciso il link che mi hai spedito non l'ho letto, non ritengo che un post che contiene 20 volte la parola "fuck" sia poi così tecnico ed equilibrato.

tornando in topic, se cercate classi di questo tipo ne esistono in rete centinaia di ottime basta usare google, io consiglio quelle della zend o pear, le usate in decine di progetti in diversi hosting (anche netsons) ed hanno sempre funzionato. poi se volete risolvere un problema per la centunesima volta fate voi.
The quiet ones are the ones who change the world. The loud ones only take the credit.
Avatar utente
puzuma
Linux 2.4
Linux 2.4
 
Messaggi: 480
Iscritto il: mar lug 04, 2006 16:14
Località: Udine
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0

Re: Funzione (mail) PHP5

Messaggioda conraid » ven gen 11, 2008 13:51

puzuma ha scritto:tornando in topic, se cercate classi di questo tipo ne esistono in rete centinaia di ottime basta usare google, io consiglio quelle della zend o pear, le usate in decine di progetti in diversi hosting (anche netsons) ed hanno sempre funzionato. poi se volete risolvere un problema per la centunesima volta fate voi.


Ma per un form, ripeto un form, usare zend framework mi sembra esagerato. Ed a volte rifare per la centunesima può servire per imparare. Così come nel caso in questione mi sembrava esagerato usare phpmailer.
Se poi devi fare qualcosa di più complesso allora posso darti anche ragione, in questo periodo volevo proprio provare lo zend framework.
Ma tornando in topic veramente il problema è diverso, in questo caso sono le mail che non arrivano se hanno dei particolari mittenti, mi sembra.
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12016
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Funzione (mail) PHP5

Messaggioda nuitari » ven gen 11, 2008 15:12

Va bene, tralascerò Rails poichè off-topic (ma guarda che quel post è FAMOSO nel mondo rails, mi stupisce che tu non lo conosca, se t'interessi di rails dovresti sapere chi è Zed e cosa dice quel blog, vabbeh) e rimarrò in-topic.

Mi unisco a Conraid: consigliare d'usare un framework intero per l'invio di una mail è ridicolo. PHPMailer è una delle classi più famose e più usate nel mondo PHP, è ridicolo il fatto stesso che io stia qui a dirlo. Una cosa è aggiungere ad un progetto una classe, che nasce e muore in uno, massimo due files ed a tutti gli effetti può essere considerata una *libreria di funzioni* per il raggiungimento di uno scopo, una cosa diversa è includere un intero framework, con tutte le implicazioni del caso.
Avatar utente
nuitari
Linux 2.6
Linux 2.6
 
Messaggi: 777
Iscritto il: dom ott 14, 2007 11:51
Località: San Colombano al Lambro
Slackware: 12.0

Re: Funzione (mail) PHP5

Messaggioda puzuma » ven gen 11, 2008 15:40

nuitari ha scritto:consigliare d'usare un framework intero per l'invio di una mail è ridicolo. PHPMailer è una delle classi più famose e più usate nel mondo PHP, è ridicolo il fatto stesso che io stia qui a dirlo.


cipicchia, che permaloso, il mio era un solo un consiglio, bastava ignorarlo, insultare le persone non è mai un buon atteggiamento. comunque basta cliccare sul link per scoprire che quelli della zend sono stati abbastanza intelligenti da consentire di installare anche solo un modulo del loro framework, in particolare per usare Zend_Mail basta copiare due cartelline (usa Zend_Mime) per avere qualcosa che anche legge le mail non solo le spedisce. non ho detto da nessuna parte che PHPMailer fa schifo, anzi mi sembrava con il mio post di appoggiare la tua opinione che non è il caso di reinvetare l'acqua calda.

era solo una segnalazione, poi chi sviluppa sceglie, flammarmi per questo mi sembra ridicolo altro che storie.
The quiet ones are the ones who change the world. The loud ones only take the credit.
Avatar utente
puzuma
Linux 2.4
Linux 2.4
 
Messaggi: 480
Iscritto il: mar lug 04, 2006 16:14
Località: Udine
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0

Re: Funzione (mail) PHP5

Messaggioda conraid » ven gen 11, 2008 15:45

Offtopic: Io non detto che è ridicolo, ma esagerato nel caso specifico, e come hai notato anche l'uso di phpmailer mi sembra altrettanto, però stiamo andando veramente OT, tanto ognuno ha le sue idee ed i suoi modi di operare in determinate circostanze

torniamo in topic.
Se le mail arrivano con un client mail come mai non arrivano con la funziona mail di php?
Sinceramente non so darmi risposta, a meno che essendo tutto interno al server segua altri filtri

@puzuma
Offtopic: Te lo chiedo sinceramente. Se uno è agli inizi con il php come dice di essere samiel, consiglieresti davvero di usare le classi dello zend framework invece di vedere come fare da soli?
Io ho sempre pensato che soprattutto all'inizio uno debba capire le funzioni basi che ha a disposizione e dopo se vuole passare ad altro, che sia zend, cake, ez-components o semplicemente phpmailer
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12016
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

PrecedenteProssimo

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron