2010-07-26 67 views
0

我的工作,如雅虎的Gmail電子郵件發送到任何收件人 我的代碼是 接觸形式從localhost發送郵件到Gmail或雅虎或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> 

和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> 

我必須在我的本地製作,這樣的變化是什麼我將能夠發送郵件...

謝謝。

回答

0

使用像PHPMailer這樣的東西來做實際的電子郵件合成/發送。除此之外,您必須在本地運行SMTP服務器,或者訪問其他地方(您的ISP的?,谷歌?)來處理郵件的物理髮送。

+0

如果您打算自己發送這些消息,您還需要熟悉RFC 822。標題需要與消息正文一起正確格式化。 Gmail,雅虎等都會將您的電子郵件轉爲垃圾郵件,除非您努力正確格式化郵件。 如果您不關心如何正確格式化郵件,PHPMailed將是一個不錯的選擇。 – Chris 2010-07-26 10:34:47

0

您必須在php.ini中使用郵件()才能運行setup an smtp server

如果你只是測試你的腳本localy(不在生產​​服務器),使用你的ISP的SMTP將會有所斬獲。

+0

不完全正確;您可以使用任何SMTP服務器,例如google,例如http://lifehacker.com/111166/how-to-use-gmail-as-your-smtp-server – 2010-07-26 11:42:20

+0

確實,我只是建議使用ISP的SMTP :) – Youssef 2010-07-26 11:59:47

相關問題