0

I have a site with a form that is suppose to send an email to my company and another to the user that filled out the form. I have loaded the site with all of the additional files to the server, but when I fill out the form to test it an error pops up saying "Not Found". I am using the GET method of PHP to handle it. I am new to PHP, and Web design in general. Thank you.

<?php
//Function that sends the email to the person who submitted the form
function send_email(){
//This sends an email to the person who submitted the form
// email fields: to, from, subject. Put your values here!
$sendermail = 'company@email.com';
$from = "Company<".$sendermail.">";
$to = $_GET['email'];
$subject = 'Product Information';
$message = "A member of our sales team will be getting back to you shortly.  Thank you for your interest in our great line of products."."\n\n"."Best Regards,"."\n\n"."The Team";
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/plain; charset=iso-8859-1' . "\n";
$headers .= 'From: '. $from . "\r\n" .
'Reply-To: '. $sendermail. "\r\n" .
'X-Mailer: PHP/' . phpversion();

$ok = @mail($to, $subject, $message, $headers);

//This sends the contents of the form submission to the website owner
$sendermail2 = $_GET['email'];
$from2 = $_GET['first-name'].' '.$_GET['last-name'].' <'.$sendermail2.'>';
$to2 = 'company@email.com';
$subject2 = 'A customer submission from the product page';
$message2 = "Name: ". $_GET['first-name'] ." ". $_GET['last-name'] ."\n\n". "Company: ". $_GET['company'] ."\n\n". "Email: ". $_GET['first-name'] ."\n\n". "Interest: ".$_GET['Interest'];
$headers2  = 'MIME-Version: 1.0' . "\r\n";
$headers2 .= 'Content-type: text/plain; charset=iso-8859-1' . "\n";
$headers2 .= 'From: '. $from2 . "\r\n" .
'Reply-To: '. $sendermail2. "\r\n" .
'X-Mailer: PHP/' . phpversion();

$ok2 = @mail($to2, $subject2, $message2, $headers2);
}
return send_email();
?>

...and this code is in the body of the HTML page.

<FORM ACTION="http://www.server.com/html/form_process.php" METHOD=GET>
4

2 回答 2

0

适用于您的红帽服务器的解决方案:

sudo yum install postfix

随后:

sudo echo "sendmail_from = me@example.com" >> /your/directory/php.ini

最后:

sudo echo "sendmail_path = /usr/sbin/sendmail -t -i -f me@example.com" >> /your/directory/php.ini

将 /your/directory/php.ini 替换为您的真实 php.ini 目录,将 me@example.com 替换为您想要的电子邮件地址,然后重新启动 apache、php 和 postfix,或者直接重新启动服务器。

于 2013-07-18T20:03:34.733 回答
0

未找到错误通常意味着您将表单发送到错误的 URL。检查您发送到的 URL 和 php 文件的路径,看看它们是否正确

于 2013-07-18T20:21:21.197 回答