Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-02-2015, 19:42   #1
Loris90
Junior Member
 
Iscritto dal: Dec 2012
Messaggi: 12
Problema phpmailer,jquery e smtp

Buonasera a tutti.....
Ho un problema sul mio sito sulla spedizione di mail da una pagina di contatto..
utilizzo questo codice sulla pagina html per la creazione dei pulsanti e inserimento del testo :
Codice PHP:
<center>
<
h1>Contattatemi per qualsiasi dubbioinformazioni...ect......    </h1></center>

<
form id="formail" method="post" action="">
          
    <
p>&nbsp;</p>
    <
p><span class="required">*</span>Nome e Cognome:   
      <
input type="text" id="nome" name="nome2"  value="" />
      <
br />
    </
p>
    <
p><span class="required">*</span>E-mail:
      <
input type="text" id="email" name="email2"  value="" />
      <
br />
    </
p>
    <
p>Indirizzo:
      <
input type="text" id="indirizzo" name="indirizzo2"  value="" /><br />
    </
p>
    <
p>Città:
      <
input type="text" id="citta" name="città2"  value="" /><br />
    </
p>
    <
p><span class="required">*</span>Spazio per richiesta informazioni:    </p>
    <
p>
      <
textarea name="messaggio" cols="50" rows="5" id="messaggio"></textarea>
      </
p>
      <
p><b><span class="required">*</span>Accetti le condizioni? &nbspSI <input name="trattamento_dati" id="dati"type="radio" value="accetto" >
        
NO <input type="radio" name="trattamento_dati" value="non_accetto" checked>
      </
b></p>
      <
p><br />
      </
p>
       <
div id="risposta">
    </
div>
        <
input name="invia" type="submit" id="invia" form="formail" value="Invia" />
     
    </
form
Oltre a questo ho un file con il seguente codice di controllo:
Codice PHP:
$(document).ready(function(){
    $(
"#invia").click(function(){
    
    
//Recuperiamo tutte le variabili
        
var valid '';
        var 
isr ' è richiesto.</p>';
        var 
name = $("#nome").val();
        var 
email = $("#email").val();
        var 
indirizzo = $("#indirizzo").val();
        var 
citta = $("#citta").val();
        var 
messaggio = $("#messaggio").val();
        var 
dati = $("input[type=radio][name=trattamento_dati]:checked").val();
    
//Eseguiamo una serie di controlli
        
if (name.length<1) {
            
valid += '<p>Un nome valido'+isr;
        }
        if (!
email.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
            
valid += '<p>Un indirizzo e-mail valido'+isr;
        }
        if (
messaggio.length<1) {
            
valid += '<p>Un messaggio valido' +isr;
        }
         if(
dati == 'non_accetto'){
            
valid += '<p>Accetta le condizioni';
        }
        
    
//Se i controlli non vengono superati, appare il messaggio di errore.
        
if (valid!='') {
            $(
"#risposta").fadeIn("slow");
            $(
"#risposta").html("<p><b>Errore:</b></p>"+valid);
            $(
"#risposta").css("background-color","#ffc0c0");
        }
        
//Se i controlli vengono superati, compare un messaggio di invio in corso
        
else {
            var 
datastr ='name=' name '&email=' email '&indirizzo=' indirizzo '&citta=' citta '&messaggio=' encodeURIComponent(messaggio);
            $(
"#risposta").css("display""block");
            $(
"#risposta").css("background-color","#FFFFA0");
            $(
"#risposta").html("<p>Invio del messaggio in corso..<br /></p>");
            $(
"#risposta").fadeIn("slow");
            
setTimeout("send('"+datastr+"')",2000);
        }
        return 
false;
    });
});
//Creazione della funzione di invio. Si baserà sul nostro file php "mail.php".
function send(datastr){
    $.
ajax({    
        
type"POST",
        
url"contattami.php",
        
datadatastr,
        
cachefalse,
        
success: function(html){
        $(
"#risposta").fadeIn("slow");
        $(
"#risposta").html(html);
        $(
"#risposta").css("background-color","#0EE570");
        
setTimeout('$("#risposta").fadeOut("slow")',10000);
    }
    });

e infine una pagina php per l'invio delle mail:
Codice PHP:
<?php
//Recuperiamo tutte le variabili
    
$mail $_POST['email'];
    
$name $_POST['name'];
    
$indirizzo $_POST['indirizzo'];
    
$citta $_POST['citta'];
    
$text $_POST['messaggio'];
    
$ip $_SERVER['REMOTE_ADDR'];
    
$subject "".$name." vuole un informazione...";
//Qui andrà inserito il tuo indirizzo e-mail
$from "mia [email protected]";
$to "mia [email protected]";

$ora date ("H:i:s"); 
$data date ("d/m/Y");

//Creazione del mesaggio da inviare
$message "Hai ricevuto una e-mail da: <strong>".$name."</strong>, <strong>".$mail."</strong> il $data alle $ora.<br /><br />";
$message .= "Indirizzo: <strong>".$indirizzo."</strong><br /><br />";
$message .= "Città: <strong>".$citta."</strong><br /><br />";
$message .= "Messaggio: <strong><br />".$text."</strong><br /><br />";
$message .= "IP: ".$ip."<br />";
$headers "From: $from \n";
$headers .= "Reply-To: $from \n";
$headers .= "MIME-Version: 1.0 \n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1 \n";

//Se l'e-mail viene spedita correttamente, compare un messaggio di avvenuto invio
 
if(mail($to$subject,$message$headers)){
    echo 
"<p>Messaggio inviato con successo</p>";
}
//Altrimenti un messaggio di errore
else{ 
    echo 
"<p>Ci sono stati degli errori nell'invio della e-mail.</p>";
}
con questa funziona solamente che le mail arrivano in ritardo e per questo volevo passare attraverso un server smtp di gmail...
volevo usare questo file al posto del php precedente:
Codice PHP:
<?php
//Recuperiamo tutte le variabili
    
$mail $_POST['email'];
    
$name $_POST['name'];
    
$indirizzo $_POST['indirizzo'];
    
$citta $_POST['citta'];
    
$text $_POST['messaggio'];
    
$ip $_SERVER['REMOTE_ADDR'];
    
$subject "".$name." vuole un informazione...";
//Qui andrà inserito il tuo indirizzo e-mail
$from "mia [email protected]";
$to "mia [email protected]";

$ora date ("H:i:s"); 
$data date ("d/m/Y");

require_once(
'class.phpmailer.php');//includiamo la classe
        
$from_name "Nome del mittente";
        
$mail = new PHPMailer();  // creiamo l'oggetto
    
$mail->IsSMTP(); // abilitiamo l'SMTP
    
$mail->SMTPDebug 0;  // debug: 1 = solo messaggi, 2 = errori e messaggi
    
$mail->SMTPAuth true;  // abilitiamo l'autenticazione
    
$mail->SMTPSecure 'ssl'// abilitiamo il protocollo ssl richiesto per Gmail
    
$mail->Host 'smtp.gmail.com'// ecco il server smtp di google
    
$mail->Port 465// la porta che dobbiamo utilizzare
    
$mail->Username '[email protected]'//email del nostro account gmail
    
$mail->Password 'password_gmail'//password del nostro account gmail
    
$mail->SetFrom($from$from_name);
    
$mail->Subject $subject;
    
$mail->Body $body;
        
$mail->IsHTML(true);
    
$mail->AddAddress($to);
    if(!
$mail->Send()) {
        
$error 'errore mail: '.$mail->ErrorInfo;
    echo 
"<p>Ci sono stati degli errori nell'invio della e-mail.</p>";
    echo 
$error;
    } else {
        
$error 'Messaggio inviato!';
            echo 
"<p>Messaggio inviato con successo</p>";

    }
in questo modo qua la mail non viene inviata anzi...
se il body del messaggio lo lascio vuoto mi viene restituito l'errore che il body è vuoto e la mail non è stata inviata...ma se metto qualcosa sul body non mi viene restituito nulla...

Riuscite a darmi una mano?

grazie a tutti
Loris90 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2015, 08:16   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Per stringere... se ho capito bene il problema è solo nell'ultima parte di codice, quella che invia la mail con phpmailer, giusto?
Per prima cosa proverei a settare SMTPDebug = 2 per vedere se ottieni qualche messaggio in più. Inoltre non so se hai già visto questa domanda su stackoverflow:
http://stackoverflow.com/questions/1...ugh-php-mailer
Tra le altre cose fa notare che per usare ssl devi avere in esecuzione un'estensione ssl per php, hai già verificato?
wingman87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v