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:
Il secondo, invece si chiama per l'appunto: invioemail.php Ed eccolo qua:
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:
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:
Grazie a tutti in anticipo.
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.";
?>
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: