Aiuto php : Modulo Mail non funzionante - Dove sbaglio ?

Nicholas1986

Nuovo Utente
30 Dic 2013
5
0
0
Salve ragazzi, spero mi possiate essere di aiuto .
Praticamente sto integrando un modulo email in un sito. Credendo di aver configurato correttamente i paramentri , ho provato ad inviare una mail dal modulo. Risultato : Non arriva
Ora vorrei capire il perchè e dove sbaglio.
Per il modulo principale ho creato una pagina contacts.php e con la funzione include ho richiamato contact_config.php ove vi sono i paramentri di configurazione
Di seguito riporto il codice delle pagine , ovvero quello interessato alla funzione mail.
Spero possiate essermi d'aiuto e ringrazio anticipatamente per eventuali chiarimenti.

Parte php della pagina contacs.php:

PHP:
<?php
include('kcaptcha/kcaptcha.php');
session_start();
require_once("contact_config.php");
if ($_POST['act']== "y")
{
    if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring'])
    {
        
        if (isset($_POST['posName']) && $_POST['posName'] == "")
        {
         $statusError = "$errors_name";
        }
		elseif (isset($_POST['posEmail']) && $_POST['posEmail'] == "")
        {
         $statusError = "$errors_mailfrom";
        }
        elseif(isset($_POST['posEmail']) && !preg_match("/^([a-z,._,0-9])+@([a-z,._,0-9])+(.([a-z])+)+$/", $_POST['posEmail']))
        {
         $statusError = "$errors_incorrect";

         unset($_POST['posEmail']);
        }
        
		elseif (isset($_POST['posText']) && $_POST['posText'] == "")
        {
         $statusError = "$errors_message";
        }

elseif (!empty($_POST))
{   
 $headers  = "MIME-Version: 1.0\r\n";
 $headers .= "Content-Type: $content  charset=$charset\r\n";
 $headers .= "Date: ".date("Y-m-d (H:i:s)",time())."\r\n";
 $headers .= "From: \"".$_POST['posName'];
 $headers .= "X-Mailer: My Send E-mail\r\n";

 mail("$mailto","$subject","$message","$headers");
 
 $_POST['posRegard'] = "";
 $_POST['posText'] = "";
 $_POST['posCountry'] = "";
 $_POST['posEmail'] = "";
 $_POST['posName'] = "";
 
 
 
 unset($name, $posText, $mailto, $subject, $posRegard, $message);

 $statusSuccess = "$send";
}

       }else{
             $statusError = "$captcha_error";
             unset($_SESSION['captcha_keystring']);
        }
}

$cat_name="Contact  $store_name manager";
?>

Parte HTML della pagina contacts.php che segue la precedente parte in php :

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Titolo sito</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css">
<LINK HREF="style.css" TYPE="text/css" REL="stylesheet">
<!--[if IE 6]>
<script type="text/javascript" src="js/ie6_script_other.js"></script>
<![endif]-->

<script type="text/javascript" src="js/jquery-1.js"></script>
<script type="text/javascript" src="js/cufon.js"></script>
<script type="text/javascript" src="js/BankGothic_Md_BT_400.font.js"></script>
<script src="AC_RunActiveContent.js" language="javascript"></script>

<script type="text/javascript">
    Cufon.replace(".special",{ fontFamily:"BankGothic Md BT"});
</script>

</head>
<body>
		<div align="center">
			<script language="javascript">
				if (AC_FL_RunContent == 0) {
					alert("This page requires AC_RunActiveContent.js.");
				} else {
					AC_FL_RunContent(
						'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
						'width', '100%',
						'height', '390',
						'src', 'header/flash',
						'quality', 'high',
						'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
						'align', 'top',
						'play', 'true',
						'loop', 'true',
						'scale', 'showall',
						'wmode', 'opaque',
						'devicefont', 'false',
						'id', 'flash',
						'bgcolor', 
						'name', 'flash',
						'menu', 'true',
						'allowFullScreen', 'false',
						'allowScriptAccess','sameDomain',
						'movie', 'flash',
						'salign', ''
						); //end AC code
				}
			</script>
		</div>
        
        <div class="big_car">
            <div class="centr">
            	<div class="content">
                
                	<div class="grid_9 left">
                    	<div class="grey_content top_15 ">
                            <h1 class="special bot_15">Modulo Contatti</h1>
            				 <p id="emailSuccess"><strong><?php echo "$statusSuccess" ?></strong></p>
							<p id="emailError"><strong style="color:#FF0000;"><?php echo "$statusError" ?></strong>	</p>
							
								<form action="contacts.php" method="post" id="cForm">
										<input type="hidden" name="act" value="y" />
								<table width="545" id="contact_form">
									<tr>
										<td width="95"><label for="posName" ><span class="red">*</span><span class="black">Il tuo nome:</span></label></td><td><input  class="input_contact"  type="text" size="25" name="posName" id="posName" value="<?php echo $_POST['posName'] ?>" /></td>
									</tr>
									<tr>
										<td><label for="posEmail"><span class="red">*</span>E-Mail:</label></td><td><input   class="input_contact" type="text" size="25" name="posEmail" id="posEmail" value="<?php echo $_POST['posEmail'] ?>"/></td>
									</tr>
									<tr>
										<td><label for="posRegard">Telefono:</label></td><td><input  class="input_contact" type="text" size="25" name="posRegard" id="posRegard" value="<?php echo $_POST['posRegard'] ?>"/></td>
									</tr>		
									<tr>
										<td><label for="posText"><span class="red">*</span>Commenti:</label></td><td><textarea class="textarea_contact" rows="5" name="posText" id="posText"><?php echo $_POST['posText'] ?></textarea></td>
									</tr>
									<tr>
									<td valign="top"><label for="posCaptcha"><span class="red">*</span>Codice di Sicurezza:</label><br></td><td><input  class="input_contact" style="width:150px; float:left;" type="text" size="25" name="keystring" id="keystring" /> <img src="kcaptcha?<?php echo session_name()?>=<?php echo session_id()?>" style="height:35px; float:right">
								</td>
									</tr>
									<tr>
									<td>&nbsp;</td><td valign="top"><input class="submit_registry" type="submit" name="selfCC" id="selfCC" value="Submit" /></td>
									</tr>
									</table>
									</form>	
                      </div>                   
                                        <div class="clear"></div><br><br>
                            
                               
                                
                      <div class="left pad_20">
                   	    																					 
                        </div>
                                <div class="clear"></div>
                                
                            
                      </div>
<div class="grid_10 right pad_20">
                     	<h1 class="special  top_25 bot_15" style="font-size:25px">Contatti</h1>
                        	<img src="images/photo_21.jpg" class="photo left right_20">
                        	<strong class="white up">Mio sito</strong><br>
                                Telefono: <br>
                                Telefono: <br>
                                E-mail: <a href="mailto" class="color">info@miosito.net</a><br>
                                URL: <a href="mailto" class="color">www.miosito.net</a><br><br><br>
                                
                        <h1 class="special  top_25 bot_15" style="font-size:25px">Link Utili</h1>
                        	
                        	<a class="white" href="https://maps.google.it/"><strong>Google Maps</strong></a><br>
                                <br><br> 


  
  
                  </div>
                  <div class="clear"></div>
                            
                </div>
            </div>
        </div>
        
                    
        <div class="footer">
            <div class="centr">
            	<div class="grid_5 left left_15">
                    <h4 class="special">COPYRIGHT</h4>
                		SITO © 2014. TUTTI I DIRITTI SONO RISERVATI.<br>
                        
                 </div>
                        
                 <div class="grid_2 left">
                 	<h4 class="special">SOCIAL</h4>                    	
                    	<a class="pin" href="#"><img src="images/pin_1.jpg"></a>
                        <a class="pin" href="#"><img src="images/pin_2.jpg"></a>
                        <a class="pin" href="#"><img src="images/pin_3.jpg"></a>
                        <a class="pin" href="#"><img src="images/pin_4.jpg"></a>                
</div>
                 
                 <div class="grid_4 right">
                 	<h4 class="special">CONTATTI</h4>
                    	Telefono:  <br>
                        Telefono:<br>
                        E-mail:  <a href="mailto">info@miosito.net</a>
                 </div>
                 
                 <div class="clear"></div>   	

            
            
            </div>	
        </div>
        
        
       
</body>
</html>

Pagina contact_config.php:

PHP:
<?php
$mailto = "info@nomesito.net";
$charset = "windows-1251";
$subject = "Site visitor: ".$_POST['posName'];
$content = "text/html";
$message = "Site visitor information:
<br><br> Name: ".$_POST['posName']
."<br>E-mail: ".$_POST['posEmail']
."<br>Country: ".$_POST['posCountry']
."<br>Phone: ".$_POST['posRegard']
."<br>Comments: ".$_POST['posText'];
 
$statusError = "";
$statusSuccess = "";

$errors_name = 'Prego inserire il nome';
$errors_mailfrom = 'Prego inserire email';
$errors_incorrect = 'La mail da voi inserita sembra non essere valida. <br>La tua email dovrebbe essere del tipo tuonome@dominio.com';
$errors_message = 'Prego inserire il messaggio';
$errors_subject = 'Prego inserire il telefono';
$captcha_error = 'Codice di sicurezza errato!';
$send = 'Messaggio inviato correttamente';
?>
 
Togli gli apici alle variabili e stampale tutte in caso di errore
PHP:
if (!mail($mailto, $subject, $message, $headers)) {
                die("Errore invio mail : <br/>$mailto<br/>$subject<br/>$message<br/>$headers");
            }
 
Togli gli apici alle variabili e stampale tutte in caso di errore
PHP:
if (!mail($mailto, $subject, $message, $headers)) {
                die("Errore invio mail : <br/>$mailto<br/>$subject<br/>$message<br/>$headers");
            }

Caro , ho seguito le tue indicazioni ed il risultato è questo :

Codice:
Errore invio mail : 
info@nomesito.net
Site visitor: Nome di prova
Site visitor information: 

Name: Nome di prova
E-mail: emaildiprova@email.it
Country: 
Phone: 01111111111
Comments: Email di prova
MIME-Version: 1.0 Content-Type: text/html charset=windows-1251 Date: 2013-12-31 (16:13:15) From: "Nome di provaX-Mailer: My Send E-mail
 
ho fatto questa prova sul mio host ed ha funzionato
PHP:
$_POST['posName'] = "prova";
$_POST['posEmail'] = "prova";
$_POST['posCountry'] = "prova";
$_POST['posRegard'] = "prova";
$_POST['posText'] = "prova";

$mailto = "info@criric.it";
$charset = "windows-1251";
$subject = "Site visitor: " . $_POST['posName'];
$content = "text/html";
$message = "Site visitor information:
<br><br> Name: " . $_POST['posName']
        . "<br>E-mail: " . $_POST['posEmail']
        . "<br>Country: " . $_POST['posCountry']
        . "<br>Phone: " . $_POST['posRegard']
        . "<br>Comments: " . $_POST['posText'];

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: $content  charset=$charset\r\n";
$headers .= "Date: " . date("Y-m-d (H:i:s)") . "\r\n";
$headers .= "From: \"" . $_POST['posName'];
$headers .= "X-Mailer: My Send E-mail\r\n";

if (!mail($mailto, $subject, $message, $headers)) {
    die("Errore invio mail");
}
echo "inviata";
l'unico problema è su questa riga
PHP:
$headers .= "Date: " . date("Y-m-d (H:i:s)") . "\r\n";
che sballa la data di arrivo della mail
fai anche tu una prova con solo questo codice, cambiando con il tuo indirizzo mail
 
Caro.. dopo aver seguito le tue ulteriori indicazioni comunque non andava.. allora ho ripristinato il codice originale (quello che ho postato all'inizio della discussione) settando l'indirizzo mail.. sono andato sulla pagina e ho provato a mandare email.. poi sono andato nel pannello di controllo linux di aruba per andare a vedere il log errori .. e il risultato è questo.. forse è qui il problema.. se puoi dammi un parere :

Codice:
[Wed Jan 01 18:47:40 2014] [error] [client 82.49.96.45:50618] - www.nomemiosito.net - AH01215: From: "Nome di provaX-Mailer: My Send E-mail, referer http://www.nomemiosito.net/contacts.php
[Wed Jan 01 18:47:40 2014] [error] [client 82.49.96.45:50618] - www.nomemiosito.net - AH01215: qmail-inject: fatal: unable to parse this line:, referer http://www.nomemiosito.net/contacts.php
 

Discussioni simili