Salve a tutti,
sono alle prese con il mio primo sito web e sto riscontrando dei problemi nel far funzionare il form mail in php con autenticazione SMTP...
Mi viene richiesto dal gestore del servizio di utilizzare la funzioni sendmail di autenticazione inserendo la user e password della mia casella admin consigliandomi di utilizzare la libreria opensource "phpmailer" con SMTP authentication...
Chiedo URGENTEMENTE aiuto !!!
Ecco i file correlati alla mia pagina Contatti.php :
-FileConfig.php
Codice PHP:
$yourwebsite = "www.ilmiodominio.com" ;
//Path to your logo e.g. "http://www.yoursite.com/images/logo.jpg"
//(Recommended size 255 x 124px)
$logo = "" ;
//Thankyou page address e.g. "thankyou.php"
$thankyoupage = "thankyou.php" ;
//Contact form page e.g. "../form.php"
$contactpage = "contatti.php" ;
//Return to home address after visiting the thankyou page e.g. "../index.php"
$returnhome = "mail.php" ;
?>
Ecco il file Mail.php:
Codice PHP:
<?php
//Includes user settings
include('config.php');
session_start();
$name = $_POST['name'];
$email = $_POST['email'];
$tel = $_POST['tel'];
$human = $_POST['humancheck'];
$message = $_POST['message'];
$callback = $_POST['callback'];
$subject = $_POST['subject'];
$ip = $_SERVER['REMOTE_ADDR'];
$error = false;
//Reset error messages
$_SESSION['emailerror'] = "";
$_SESSION['nameerror'] = "";
$_SESSION['subjecterror'] = "";
$_SESSION['messageerror'] = "";
$_SESSION['humanerror'] = "";
$_SESSION['senderror'] = "";
//Validation Session Variables
$_SESSION['message'] = $message;
$_SESSION['tel'] = $tel;
$_SESSION['name'] = $name;
$_SESSION['email'] = $email;
$_SESSION['subject'] = $subject;
//Validation
if($name == ""){
$_SESSION['nameerror'] = "";
$error = true;
}
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
$_SESSION['emailerror'] = "";
$error = true;
}
if($email == ""){
$_SESSION['emailerror'] = "";
$error = true;
}
if($subject == ""){
$_SESSION['subjecterror'] = "";
$error = true;
}
if($message == ""){
$_SESSION['messageerror'] = "";
$error = true;
}
if($human != "yes"){
$error = true;
$_SESSION['humanerror'] = "";
}
if($error == true) {
$_SESSION['senderror'] = "";
header("Location: $contactpage");
exit;
} else {
$to = $youremail;
$sbj = "You have recieved a message - ContactKing";
$msg = "
<html>
<head>
<style type='text/css'>
body{
font-family:'Lucida Grande', Arial;
color:#333;
font-size:15px;
}
</style>
</head>
<body>
[img]"."$logo"."[/img]
<table width='600' border='0' cellspacing='0' cellpadding='5'>
<tr>
<td width='121' align='right' valign='baseline'>[b]Name:[/b]</td>
<td width='459'>$name</td>
</tr>
<tr>
<td align='right' valign='baseline'>[b]Email:[/b]</td>
<td>$email</td>
</tr>
<tr>
<td align='right' valign='baseline'>[b]IP:[/b]</td>
<td>$ip</td>
</tr>
<tr>
<td align='right' valign='baseline'>[b]Contact Number:[/b]</td>
<td>$tel</td>
</tr>
<tr>
<td align='right' valign='baseline'>[b]Call back?:[/b]</td>
<td>$callback</td>
</tr>
<tr>
<td align='right' valign='baseline'>[b]Subject:[/b]</td>
<td>$subject</td>
</tr>
<tr>
<td align='right' valign='baseline'>[b]Message:[/b]</td>
<td>$message</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>[size="1"]Powered by ContactKing | © Copyright 2010 creativeben.co.uk[/size]</td>
</tr>
</table>
</body>
</html>
";
$from = $email;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From: $from";
mail($to,$sbj,$msg,$headers); //Send to you.
//END OF EMAIL TO ME
//START EMAIL CONFIRMATION
$toClient = $email;
$msgClient = "
<html>
<head>
<style type='text/css'>
body{
font-family:'Lucida Grande', Arial;
color:#333;
font-size:15px;
}
</style>
</head>
<body>
[img]"."$logo"."[/img]
<table width='600' border='0' cellspacing='0' cellpadding='5'>
<tr>
<td width='117' align='right' valign='baseline'>[b]Thank you,[/b]</td>
<td width='463'>$name</td>
</tr>
<tr>
<td></td>
<td>We have recieved your message and will get back to you as soon as possible.</td>
</tr>
<tr>
<td></td>
<td>[size="1"]Powered by ContactKing | © Copyright 2010 creativeben.co.uk[/size]</td>
</tr>
</table>
</body>
</html>
";
$fromClient = $email;
$sbjClient = "Thank you, $name - $yourwebsite";
$headersClient = 'MIME-Version: 1.0' . "\r\n";
$headersClient .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headersClient .= "From: $fromClient";
mail($toClient,$sbjClient,$msgClient,$headersClient); //Send to Client.
//END EMAIL CONFIRMATION
//Reset error messages
$_SESSION['emailerror'] = "";
$_SESSION['nameerror'] = "";
$_SESSION['subjecterror'] = "";
$_SESSION['messageerror'] = "";
$_SESSION['humanerror'] = "";
$_SESSION['senderror'] = "";
//Reset Validation Session Variables
$_SESSION['message'] = "";
$_SESSION['tel'] = "";
$_SESSION['name'] = "";
$_SESSION['email'] = "";
$_SESSION['subject'] = "";
session_destroy();
header("Location: $thankyoupage");
exit;
}
?>
ed per ultimo il file Thankyou.php:
Codice PHP:
<?php include('config.php') ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Hunkar Yilmaz - Grazie</title>
<style type="text/css">
body {
background:#FFF;
font-family:Arial, "Helvetica", sans-serif;
color:#414240;
font-size:14px;
margin:0;
padding:0;
}
#wrap {
width:400px;
text-align:center;
border:1px solid #dadbdc;
-moz-box-shadow:0 0 5px #cbcbcb;
-webkit-box-shadow:0 0 5px #cbcbcb;
margin:100px auto;
padding:2px;
}
mail,a {
color:#808285;
font-weight:400;
cursor:pointer;
outline-width:medium;
outline-style:none;
outline-color:#-moz-use-text-color;
}
mail,a:hover {
color:#414042;
font-weight:400;
}
</style>
</head>
<body>
<div id="wrap">
<h2>Grazie.</h2>
<h5>Il messaggio è stato inviato,
riceverà una risposta al più presto.</h5>
[url="<?php echo $returnhome ?>"]Clicca qui per ritonare alla home.[/url]</p>
</div>
</body>
</html>
Adesso cosa occorra che faccia relativamente alla funzione sendmail ???