2010-07-26 5 views
0

Je travaille sur l'envoi d'e-mail à un destinataire comme Yahoo gmail mon code est formulaire de contactEnvoi de mails depuis localhost vers gmail ou yahoo ou rediff?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Email Form </title> 
</head> 
<body> 

<form method="post" action="sendeail.php"> 

<!-- DO NOT change ANY of the php sections --> 
<?php 
$ipi = getenv("REMOTE_ADDR"); 
$httprefi = getenv ("HTTP_REFERER"); 
$httpagenti = getenv ("HTTP_USER_AGENT"); 
?> 

<input type="hidden" name="ip" value="<?php echo $ipi ?>" /> 
<input type="hidden" name="httpref" value="<?php echo $httprefi ?>" /> 
<input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" /> 


Your Name: <br /> 
<input type="text" name="visitor" size="35" /> 
<br /> 
Your Email:<br /> 
<input type="text" name="visitormail" size="35" /> 
<br /> <br /> 
<br /> 
Attention:<br /> 
<select name="attn" size="1"> 
<option value=" Sales n Billing ">Sales n Billing </option> 
<option value=" General Support ">General Support </option> 
<option value=" Technical Support ">Technical Support </option> 
<option value=" Webmaster ">Webmaster </option> 
</select> 
<br /><br /> 
Mail Message: 
<br /> 
<textarea name="notes" rows="4" cols="40"></textarea> 
<br /> 
<input type="submit" value="Send Mail" /> 
<br /> 
</form> 

</body> 
</html> 

et senemail.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Sendemail Script</title> 
</head> 
<body> 

<!-- Reminder: Add the link for the 'next page' (at the bottom) --> 
<!-- Reminder: Change 'YourEmail' to Your real email --> 

<?php 

$ip = $_POST['ip']; 
$httpref = $_POST['httpref']; 
$httpagent = $_POST['httpagent']; 
$visitor = $_POST['visitor']; 
$visitormail = $_POST['visitormail']; 
$notes = $_POST['notes']; 
$attn = $_POST['attn']; 


if (eregi('http:', $notes)) { 
die ("Do NOT try that! ! "); 
} 
if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,"."))) 
{ 
echo "<h2>Use Back - Enter valid e-mail</h2>\n"; 
$badinput = "<h2>Feedback was NOT submitted</h2>\n"; 
echo $badinput; 
die ("Go back! ! "); 
} 

if(empty($visitor) || empty($visitormail) || empty($notes)) { 
echo "<h2>Use Back - fill in all fields</h2>\n"; 
die ("Use back! ! "); 
} 

$todayis = date("l, F j, Y, g:i a") ; 

$attn = $attn ; 
$subject = $attn; 

$notes = stripcslashes($notes); 

$message = " $todayis [EST] \n 
Attention: $attn \n 
Message: $notes \n 
From: $visitor ($visitormail)\n 
Additional Info : IP = $ip \n 
Browser Info: $httpagent \n 
Referral : $httpref \n 
"; 

$from = "From: $visitormail\r\n"; 


mail("YourEmail", $subject, $message, $from); 

?> 

<p align="center"> 
Date: <?php echo $todayis ?> 
<br /> 
Thank You : <?php echo $visitor ?> (<?php echo $visitormail ?>) 
<br /> 

Attention: <?php echo $attn ?> 
<br /> 
Message:<br /> 
<?php $notesout = str_replace("\r", "<br/>", $notes); 
echo $notesout; ?> 
<br /> 
<?php echo $ip ?> 

<br /><br /> 
<a href="contact.php"> Next Page </a> 
</p> 

</body> 
</html> 

les changements que je dois faite dans mon localhost afin que Je serais en mesure d'envoyer le courrier ...

merci.

Répondre

0

Utilisez quelque chose comme PHPMailer pour effectuer la composition/l'envoi par e-mail. Au-delà de cela, vous devrez soit lancer un serveur SMTP localement, soit avoir accès à un autre site (votre FAI ?, google's?) Pour gérer l'envoi physique du mail.

+0

Vous devrez également vous familiariser avec RFC 822 si vous avez l'intention d'envoyer vous-même ces messages. Les en-têtes doivent être correctement formatés avec le corps du message. Gmail, Yahoo, etc. vont tous jeter votre courrier électronique dans le spam, sauf si vous faites un effort pour formater correctement les messages. PHPMailed sera un bon choix si vous n'êtes pas préoccupé par la façon de formater correctement un message. – Chris

0

Vous devrez setup an smtp server pour mail() dans php.ini afin de pouvoir exécuter. Si vous testez vos scripts localement (pas dans un serveur de production), l'utilisation du protocole SMTP de votre fournisseur de services Internet fera l'affaire.

+0

Pas complètement vrai; vous pouvez utiliser n'importe quel serveur SMTP, tel que google, par ex. http://lifehacker.com/111166/how-to-use-gmail-as-your-smtp-server –

+0

Certes, je viens de suggérer d'utiliser le SMTP de FAI :) – Youssef

Questions connexes