Eroore su invio email

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve a tutti,

Apro una nuova discussione, sperando che qualche buon anima mi possa aiutare. Il punto è questo. Ho eseguito una prova, chiedendo di registrare solo l'indirizzo email, l'indirizzo viene registrato, ma non mi invia l'email, anzi mi da un errore. Premessa:

Lavoro tutto sul synology (nas),

Adopero come editor netbeans 7.01

Adopero come email principale gmail che ha la porta 465

Windows 7 home (sul portatile) o Ultimate (sul fisso, dipende se sto a casa o al mare)

Mi connetto tramite una vpn al nas

Ora posto i codici di quello che ho fatto. Il primo si chiama come file insemail.php

Eccolo qua:

PHP:
<?php
require_once("connetti.php");


if (!isset($_POST['reg'])) {
    
    ?>
    <html>
        <head>
        </b></em></hr>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Inserimento Email</title>
    <h1> <center>
            BENVENUTO INSERIRE SOLO L'EMAIL PREGO !!! </H1>
            <b> <hr> <em>  </b> </hr> </em>
                   
            <form action= '' method="POST">
                <center>
                <font face="Comic Sans MS">
                Email:    <input type="text" name="email"  maxlength="40" size ="42"> <br> <br>
   
                </font>
                    <center>
                   <input type="submit" name="reg" value="Invio Email" />
                    <input type="submit" name="uscita" value="Uscita" />
                </center>    

</head>
    <body>
        <?php
      } else {
    
    
    $email = mysql_real_escape_string(trim($_POST['email']));
   
    
 $ok_ko ="";

 
 if($email ==""){ $ok_ko .=  "Attenzione: il campo email deve essere compilato. <br> <br>";}

 if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
        $ok_ko .= "indirizzo email non valido<br>";
        
    } 
    
    // Controllo se esiste l'email nel db

$checkemail=mysql_query("SELECT email FROM email WHERE email='$email'");
$vuota=mysql_num_rows($checkemail);
if($vuota > 0){
	echo "<br> <br> <h1> Attenzione: l'email: ".$email." è già presente nell'archivio. Si prega di cambiare email. Grazie !!! </h1>";
echo "<meta http-equiv='Refresh' content=1; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
exit();

}
if($ok_ko !=""){
		echo "<h1>$ok_ko</h1>";

		echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
  exit();
//recupero i campi di tipo "stringa"
   
   $email     = trim($_POST['email']); 
   
   
        }else{
 $q_i=mysql_query("INSERT INTO email(email) VALUES('$email')");
 
 
echo "<h1> <br>Email registrata correttamente. Controlla la tua email. Dovrebbe essere stat inviata un'email di conferma. Accettare per abilitare l'account. Grazie. !!!</h1>";//e torno al form
			//echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";

require_once("invioemail.php");
}
}
?>
    </body>
</html>

Il secondo, invece si chiama per l'appunto: invioemail.php Ed eccolo qua:

PHP:
<?php

require_once("connetti.php");

$to = "[email protected]";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "[email protected]";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";

?>
Ora, considerando che ho la connessione di libero (infostrada), e non mi ricordo purtroppo smtp, che va inserito nel file php.ini, posto qui sotto una semplice configurazione del mio php.ini, situato sul synology. Eccolo qua:

PHP:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.gmail.com
;SMTP = synology (ovviamente qua c'è il mio indirizzo ip)
; http://php.net/smtp-port
smtp_port = 465
;smtp_port = 25

Considerate che, con altervista lo stesso codice e le stesse modifichhe c(ossia mettendo l'indirizzo ip del mio synology), parte. Invece dal synology direttamente no. non capisco più cosa debbo fare. Aiutatemi vi prevo. Un ultima cosa, vi posto la tabella di insemail.

Eccola:

PHP:
create table email (

id 		INT UNSIGNED NOT NULL AUTO_INCREMENT,
email           VARCHAR(40) NOT NULL,
autorizzato 	ENUM('0', '1') DEFAULT '0',
PRIMARY KEY (id)
);

Grazie a tutti in anticipo.
 
Ultima modifica di un moderatore:

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Ciao Paperini4,
per quello che so dovresti mettere nel file php.ini l'smtp del provider con il quale ti colleghi. Non mi è chiaro però se tu le modifiche le fai in remoto o in locale. Nel caso fosse la seconda dovresti mettere l'smtp di libero che puoi trovare in rete e dovrebbe essere smtp.libero.it con autenticazione.

Oltre non so. :mavieni::cool:
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao Paperini4,
per quello che so dovresti mettere nel file php.ini l'smtp del provider con il quale ti colleghi. Non mi è chiaro però se tu le modifiche le fai in remoto o in locale. Nel caso fosse la seconda dovresti mettere l'smtp di libero che puoi trovare in rete e dovrebbe essere smtp.libero.it con autenticazione.

Oltre non so. :mavieni::cool:

Ciao,

Allora, innanzi tutto grazie per avermi risposto. Secondo poi, io mi connetto tramite un programmino che si chiama putty, ed io entro come root e metto la password. Quindi credo che sia in remoto o sbaglio ??? Per quanto riguarda l'smtp, grazie della rinfrescata. Non ricordavo, ma ti confermo che è quello. Se invece dovessi connettermi in remoto cosa dovrei fare secondo te ??? Inoltre, ti ricordo che lavoro tutto sul NAS e l'apparecchio adopera il sistema Linux (ovviamente modificato per la macchina). Un ultimo dubbio in proposito, il php lavora sotto Windows e non sotto Linux giusto ??? Non so cosa fare... Grazie comunque.
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Ciao, allora per quanto riguarda putty penso sia un collegamento da remoto via terminale, senza interfaccia grafica, ma potrei sbagliarmi, conosco qualcosa di linux ma non ci lavoro da moltissimo tempo. Quanto al php esiste anche su linux, sicuro, oltre non saprei che dirti. L'unica cosa è che potresti testare il lavoro in locale sul pc e poi inviarlo al server per l'uso corrente.

Ciao
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao,

Si difatti è senza grafica putty. Allora sicuramente è in accesso remoto. Però non capisco perchè hai distinto tra lremoto e locale, evidentemente ci deve essere una bella differenza fra loro presumo. Comunque, io sono iscritto ad altervista, e ho fatto la prova dello stesso codice, e l'email la invia. Quindi ciò vuol dire che il settaggio sotto windows dovrebbe essere giusto e i dati di connessione li prende direttamente dal nas. Ossia il famoso file connetti.php o config.pnp a secondo di uno come lo chiama. In xampp, non c'ho provato. Quindi intendo in locale. Ora vado a fare la prova dei scuscini. Ci sentimo se hai notizie nel pome. Ti ringrazio comunque dell'interessamento.

P.S.: Ho messo nel programma phpmailer, cosa che mi hanno suggerito. Adesso mi da sto errore qua che non capisco cosa voglia dire, se magari me lo puoi tradurre grazie.

L'errore è il seguente:

Warning: mail(): Failed to send mail. (500 STAR command unrecognized) in xxx/xxx/xxx/invioemail.php on line 11 Mail Sent.
 
Ultima modifica:

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Ho distinto remoto e locale perchè molti preferiscono testare in locale, cioè sul proprio pc, il lavoro e poi inviarlo al server. Quanto all'errore che ti da cioè:
Warning: mail(): Failed to send mail. (500 STAR command unrecognized) in xxx/xxx/xxx/invioemail.php on line 11 Mail Sent.
bisogna vedere il file invioemail.php che hai e vedere alla riga 11 che cosa hai messo. Il problema che ho avuto anche io è quello di tenere la funzone mail() nel codice. Invece con phpmailer la devi togliere e sostituirla con il codice
PHP:
if(!$mail->Send()){ //errore di trasmissione
    echo "errore";
}else{ //invio avvenuto
    echo "invio ok";
}
//....

Ciao alla prox.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao,

Risvegliato dalla prova cuscini (funzionato alla grande),
Ti ringrazio dei chiarimenti. Ti posto il codice che c'è su invioemail.php. Eccolo qua:


PHP:
require_once("connetti.php");
//include_once ('phpmailer.inc.php');

$to = "[email protected]";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "[email protected]";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";

La riga 11 di cui parla l'errore è la seguente:

PHP:
11 --> mail($to,$subject,$message,$headers);

Al primo ho tolto la mia email originale con nome cognoem questione di privacy, ma comunque mi chiamo Fabio da Roma. piacere. Io presumo che l'errore suia altrore più che concentrato su quella riga.
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Invio dai tessera sanitaria PHP 1
M telecamera Foscam - mancato invio mail ad account gmail IP Cam e Videosorveglianza 0
G Invio di più valori con la stessa checkbox PHP 4
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
M Invio di email PHP 0
A invio massivo dati a file php Javascript 4
P Funzione jQuery Ajax invio file a php jQuery 1
Cosina Upload multiplo con invio allegati per email PHP 0
C Mailchimp ritardo invio newsletter subscribers Email Marketing 1
G creazione menu a tendina e invio a pagina php PHP 1
R Invio mail con allegati multipli PHP 0
R Invio mail con allegati da directory PHP 1
Cosina Invio messaggio a mailing list su file txt PHP 9
W Invio Dati ad un altra pagina Classic ASP 1
S Invio email da form PHP 8
psicomia Server e url per invio di file Server Dedicati e VPS 3
max1974 Invio email PHP 12
Daniele_Carrara Problema timeout - invio mail PHP 7
U PHP bottone per invio mail o ritorno al form PHP 15
G Invio mail con php da dati prelevati da un database PHP 9
L [PHP] Invio Immagini PHP 1
AC1 [PHP] Invio Mail PHP 18
I [PHP] Invio sms multipli PHP 4
S Consigli per invio di comunicati stampa Discussioni Varie 2
A [PHP] Invio automatico dati da form PHP 6
F Estrazione Email di persone selezionate e attive / facebook + invio di massa! Annunci servizi di Social Media Marketing 0
ANDREA20 [PHP] Modulo email invio PHP 5
Shyson [PHP] Codice iscrizione e invio avviso nuovi articoli PHP 3
Tommy03 Errore invio email con PHP PHP 1
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
A [PHP] errore 404 e invio mai path pagina con link interrotto PHP 2
A [PHP] Invio messaggio a tutti gli iscritti PHP 2
M [PHP] Problema script ricezione e invio posta... PHP 1
C [PHP] Problema Invio Email Elseif PHP 2
A [PHP] Problema invio mail con funzione mail() PHP 3
Tommy03 Invio email con PHP PHP 3
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
R [javascript]Form invio preventivo Javascript 0
A [PHP] Invio MP a destinatari multipli PHP 6
Simone P Fatturazione elettronica xml e invio SDI Discussioni Varie 53
paloppa [PHP] Invio mail da form dubbio PHP 17

Discussioni simili