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

Discussione: PHP + Invio Email PEC

  1. #1

    PHP + Invio Email PEC

    Ciao a tutti!

    Ho bisogno di aiuto: vorrei impostare in php uno script che, su un pc che fa da server locale, invii email DA posta certificata A posta certificata.

    Ho cercato per tutto il web, ma pare non sia possibile, talvolta per l'smtp diverso da quello del server ospitante, talvolta per l'ssl impostato, talvolta per le porte, ecc..

    Inoltre ho fatto alcuni tentativi con PHPMailer e una posta elettronica normale e funziona solo con le opzioni base di mail(), ma se aggiungo un CC: o un allegato, addio...



    C'è una soluzione?
    GRAZIE

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,264
    Inviare un email certificata attraverso un SMTP esterno è possibile, come una normale email, basta seguire le impostazioni del server
    Sarà probabilmente un SMTPs e forse mail non supporta le impostazioni richieste.


    Ci pensano poi i vari gestori di posta a gestire la posta certificata o rimandarti un certificato di mancata accettazione.

  3. #3
    Allora forse non ho capito una cosa, e correggimi se sbaglio.

    Avendo utilizzato io un server fisico "casalingo" e avendoci installato apache e mysql col pacchetto xampp, come vedo le impostazioni del mio server?

    E dimmi se ho capito o no questa cosa: dovrei installare Mercury (del pacchetto di xampp) che mi faccia da server mail, o non serve?

    Grazie mille per la risposta comunque; inoltre sono felice che si possa fare!!!

    Attendo comunque delucidazioni per i miei dubbi

  4. #4
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,264
    Bisognerebbe capire cosa vuoi fare.

    Se vuoi SOLO inviare delle email un server mail non ti serve, una funzione di PHP chiamerà il server SMTP impostato ed invierà attraverso questo l'email.
    In questo caso soprattutto non poi avere un tuo server dato che non verrebbe accettato per l'invio della PEC.

    Leggendo in giro mi pare di capire che la funzione mail non riesca a connettersi a server SMTP sicuri, e dato che quelli PEC sicuramente lo sono, devi usare un altra funzione.
    Su google ho trovato questa
    http://email.about.com/od/emailprogr...entication.htm

    Dipende poi dal gestore di posta solitamente sono tutti porta 465 SMTP-over-SSL, i dati corretti teli deve dare il tuo gestore di posta PEC.

  5. #5
    non appena possibile testerò lo script che mi hai suggerito... spero bene.

    Quindi da quello che ho capito, se facessi fungere il sito/programma su server locale avrei problemi, ma se l'hosting remoto avesse problemi con la PEC avrei ancora altri problemi.

    Ragion per cui non mi resta che provare.

    Grazie mille per la dritta: spero di aggiornare il post quanto prima con notizie positive.

  6. #6
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,264
    In che senso problemi con la pec?
    Secondo me stai confondendo il concetto di SMTP.
    Possono inviare email PEC solo server abilitati ad esserlo (burocrazia varia e dimostrare che hai certi requisiti).
    Quindi non poi fungere te da server SMTP, devi appoggiarti a qualcuno abilitato (arubaPEC, actalis, legamail, poste, etc...)

    Ovviamente se non funzionano per qualche guasto interno non funzionano... punto, ma sono obbligati mi pare a garantire un certo livello di servizio.

    Attenzione poi che alcuni (mi pare solo la pec del governo) non permettono su account PEC ne la ricezione ne l'invio a/da account non pec.
    Il resto li gestisce ma ti arrivano come anomalie messaggio mi pare.

    In azienda sviluppiamo un programma(.net) che appunto permette di gestire la PEC.

  7. #7
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    Ciao bigwebber,
    Ho appena affrontato anche io questo problema e dopo una notte a sclerare alla PEC e soprattutto con l'inclusione di N allegati ho risolto tutti in circa due min di lavoro e 10 righe di codice...

    http://sourceforge.net/projects/phpm...1.zip/download

    Libreria fantastica e facile da intrallare, basta che la copi nella tua web-app e includi la class nel file dove vai a inviare mail.

    ci sono un sacco di esempi anche come fare connessione smtp antenticata e l'impostazioni delle porte (Che ti servono per la pec).

    Poi per gli eventiali allegati gestisce tt lui i MIMETYPE ecc che altrimenti ci sarebbe da sclerarci dietro 10 gg
    Che mestiere difficile.....essere da soli ancora di più

  8. #8
    grazie mille per le risposte.

    Fractals, l'esistenza di PHPmailer è stata la mia prima scoperta, ma il non capirne l'utilizzo con la PEC mi condusse tra queste pagine alla ricerca di una soluzione.

    In parole povere io includo il file class.smtp.php... e poi? Come assegno mittente, destinatario, corpo, allegato/i? E come invio?

    Mi servono solo queste cose.
    Grazie mille ancora

  9. #9
    Ho fatto questo:
    codice:
    <?php
    include_once("phpmailer/class.phpmailer.php");
    
    $mail = new PHPMailer();
    
    
    $mail ->SetFrom('XXXXX@legalmail.it', 'NOME');
    $mail ->Subject = "Oggetto";
    $body = "Testo del messaggio";
    $mail ->MsgHTML($body);
    $mail ->Host = 'sendm.cert.legalmail.it';
    $mail ->Port = 465;
    $mail ->Mailer = 'smtp';
    //$mail ->SMTPSecure = 'ssl';
    $mail ->SMTPAuth = 'true';
    $mail ->Username = 'XXXXX@legalmail.it';
    $mail ->Password = ZZZZZZZZZ';
    
    $mail ->AddAddress("KKKKKKKK@NNNNNN.it");
    $mail ->IsSMTP();
    
    if($mail->Send())
    {
        echo 'Email inviata correttamente';
    }
    else
    {
        echo 'Errore: email non inviata. ' . $mail->ErrorInfo;
    }
    
    
    ?>
    e sapendo che:
    codice:
    Server di posta in uscita: sendm.cert.legalmail.it
    Autenticarsi al server di posta in uscita (settando l'opportuno parametro)
    Il server di posta in arrivo necessita di una connessione protetta ed utilizza la porta POP3S (995) o IMAPS (993). E' inoltre necessario utilizzare il colloquio sicuro (SSL) anche per l'invio della posta (SMTPS porta 465 oppure SMTP START-TLS porta 25 in base al client).
    Ho fatto vari tentativi, modificando autenticazione, porte e ssl o tls... ma nulla.
    Nel caso sopra riportato credo vada in timeout perchè non mi restituisce nulla dopo un pò di tempo di caricamento, mentre nel caso in cui 'commento' anche SMTPAuth mi dice:
    The following From address failed: XXXXXXX@legalmail.it Errore: email non inviata. The following From address failed: XXXXXXX@legalmail.it SMTP server error: 5.3.5 dominio legalmail.it non utilizzabile se non autenticati
    e ancora, se non 'commento' nulla:
    SMTP Error: Could not connect to SMTP host. Errore: email non inviata. SMTP Error: Could not connect to SMTP host.
    E non capisco i perchè, visto che fornisco (CREDO) tutto ciò che dovrebbe servire.

  10. #10
    Allora, perdonatemi: ancora novità!

    codice:
    <?php
    include_once("phpmailer/class.phpmailer.php");
    
    $mail = new PHPMailer();
    
    
    $mail ->SetFrom('XXXXXXX@legalmail.it', 'Inviante');
    $mail ->Subject = "Oggetto";
    $body = "Testo del messaggio";
    $mail ->MsgHTML($body);
    $mail ->Host = 'sendm.cert.legalmail.it';
    $mail ->Port = 465;
    $mail ->Mailer = 'smtp';
    $mail ->SMTPSecure = 'ssl';
    $mail ->SMTPAuth = true;
    $mail ->SMTPDebug = true;
    $mail ->Username = 'USERIDNONEMAIL';
    $mail ->Password = 'PASSWORD';
    
    $mail ->AddAddress("DESTINATARIO@EMAIL.it");
    $mail ->IsSMTP();
    
    if($mail->Send())
    {
        echo 'Email inviata correttamente';
    }
    else
    {
        echo 'Errore: email non inviata. ' . $mail->ErrorInfo;
    }
    ?>
    con il debug attivato ricevevo questo:
    SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? (32)
    SMTP Error: Could not connect to SMTP host. Errore: email non inviata. SMTP Error: Could not connect to SMTP host.
    Quindi ho provato su un dominio a mia disposizione su aruba... e ha funzionato (anzi, dapprima con l'email come user non andava, poi ho risolto così).

    Ma il problema sussiste: io il sito lo inserirò su un server locale poi accessibile ecc... ragion per cui devo capire come abilitare (CREDO) l'smtp e l'ssl su xampp. Calcolando che per ora ho Windows, ho provato a modificare i vari php.ini, ma nulla. Ho provato ad avviare Mercury, e infatti risulta attivato l'smtp, ma non va ugualmente (forse andrebbe configurato). E' così o sbaglio?

    Grazie ancora e scusatemi...

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