Hi,
I tried to make my contact page working, but i never recieve e-mails.
I use both mail() function and Phpmailer. For phpmailer, i put the class.phpmailer.php file on /includes/classes/
Contact page code :
For information : In the contact page, i'm using my credentials and smtp host (for security purpose i replaced by smtp.domain.com in this topic)
Port 25 is open (I checked)
Thanks in advance
I tried to make my contact page working, but i never recieve e-mails.
I use both mail() function and Phpmailer. For phpmailer, i put the class.phpmailer.php file on /includes/classes/
Contact page code :
Code:
<?php if(!defined('access') or !access) die('This file cannot be directly accessed.'); ?>
<?php include_theme_header();
include_once $_SERVER['DOCUMENT_ROOT'] . '/securimage/securimage.php';
?>
<div id="content" class="pages page_contact">
<h1>Contactez-Nous</h1>
<p>Veuillez remplir le formulaire. Nous vous répondrons le plus rapidement possible</p>
<?php
if ($_POST['name'] and $_POST['email'] and $_POST['message']) {
$result = true;
$name = $_POST['name'];
$email = trim($_POST['email']);
$message = $_POST['message'];
$to = 'myemail@domain.com';
$subject = 'Contact form example';
$mailbody .= "Name: ".$name."\n";
$mailbody .= "E-mail: ".$email."\n\n";
$mailbody .= "Message: ".$message."\n\n";
$mailbody .= "IP: ".getenv("REMOTE_ADDR")."\n";
$mailbody .= "Browser: ".getenv("HTTP_USER_AGENT")."\n\n";
$use_phpmailer = true; // true: uses php mailer | false: uses the default mail() function
$securimage = new Securimage();
if ($securimage->check($_POST['captcha_code']) == false) {
// Le code est incorrect
// Vous devriez gérer l'erreur afin que le processeur ne continue pas la forme
// Ou vous pouvez utiliser le code suivant s'il n'ya pas de validation ou que vous ne savez pas comment
echo "Le code de securite entre est incorrect.<br /><br />";
echo "S'il vous plait aller <a href='javascript:history.go(-1)'>retour</a> et essayez a nouveau.";
exit;
}
// We are going to check the fields...
if(check_email_address($email) and check_value($name) and check_value($message)) {
// Waht are we using?
if($use_smtp) {
// Hail PHPMailer!
require once "/includes/classes/class.phpmailer.php"; //PHP MAILER IS NOT INCLUDED BY DEFAULT. GET IT ON http://sourceforge.net/projects/phpmailer/
$mail = new phpmailer();
$mail->Mailer = "smtp";
$mail->Host = "smtp.domain.com"; // SMTP host
$mail->SMTPAuth = true;
$mail->Username = "mysmtpusername";
$mail->Password = "mypassword";
$mail->Timeout = 30;
$mail->From = $email;
$mail->FromName = $name;
$mail->AddAddress($to);
$mail->Subject = $subject;
$mail->Body = $mailbody;
$success = $mail->Send();
} else {
$success = mail($to, $subject, $mailbody); // $to, $subject, $mailbody
}
// Succes true...
if($success) {
$output = 'Message envoyé. Nous vous contacterons rapidement';
$contact_class = 'contact-ok';
} else { // Oh no... errors.
$output = 'Erreur lors de l\'envoi. Veuillez recommencer';
$contact_class = 'contact-error';
}
} else { // Invalid values...
$output = 'Veuillez remplir tout les champs';
$contact_class = 'contact-error';
}
}
?>
<?php if ($result) : ?>
<div class="contact-result <?php echo $contact_class; ?>"><?php echo $output; ?></div>
<?php endif; ?>
<form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
<div><label for="name">Nom:</label> <input type="text" name="name" id="name" /></div>
<div><label for="email">E-mail:</label> <input type="text" name="email" id="email" /></div>
<div><label for="message">Message:</label> <textarea name="message" id="message" ></textarea></div>
<label for="message">Captcha :</label> <input type="text" name="captcha_code" size="30" maxlength="6" />
<div align="center"><img id="captcha" src="/securimage/securimage_show.php" alt="CAPTCHA Image" /></div>
<div align="center"><a href="#" onclick="document.getElementById('captcha').src = '/securimage/securimage_show.php?' + Math.random(); return false">[ Nouvelle image ]</a></div>
<div><input type="submit" value="Envoyer" class="send-form"/></div>
</form>
</div>
</div><!-- wrap -->
<?php include_theme_footer(); ?>
For information : In the contact page, i'm using my credentials and smtp host (for security purpose i replaced by smtp.domain.com in this topic)
Port 25 is open (I checked)
Thanks in advance