如何让这个 PHP 电子邮件脚本工作


how do i get this email script in php to work

我对 php 相当陌生,我正在尝试使用它从我网站上的表单中收集数据,然后将表单的内容发布到我的电子邮件地址,但我的 send.php 脚本不断给我错误。

这是我所拥有的:

$company=$_POST['company'];
$contact=$_POST['contact_person'];
$position=$_POST['position'];
$phone=$_POST['phone'];
$address=$_POST['address'];
$finance=$_POST['finance'];
$items=$_POST['items'];
$kind=$_POST['kind'];
$date=$_POST['date'];
$body="company name:". $company . "<br />Contact person:".$contact."<br />position:"
      .$position."<br />phone:".$phone."<br />address:".$address."<br />finance:".$finance."<br />items:"
      .$items."<br />date:".$date;

$to = "contact@sigmastrat.com"; //your email address
$message = $body ."<br/><hr/><br/>".$content;
$from = $_POST['email'];
$headers = "From:" . $from;
mail($to, $message, $headers);
echo "Mail Sent.";

我在第 19 行和第 22 行不断收到错误:

$message = $body ."<br/><hr/><br/>".$content;  // L19
mail($to, $message, $headers); // L22

我做错了什么?

错误消息是:

注意:未定义的变量:第 19 行 C:''wamp''www''CPIBootstrap''send_d.php 中的内容

和:

警告:mail():无法连接到"localhost"端口 25 的邮件服务器,验证 php 中的"SMTP"和"smtp_port"设置.ini或在 C:''wamp''www''CPIBootstrap''send_d.php 中使用第 22 行的 ini_set()

您的mail()调用不正确。语法为:

mail($to, $subject, $message, $headers);

同样,您在使用$content时从未定义过它。所以很可能这是你的两个错误 - 不正确的函数调用参数和未定义的变量。

您的参数不正确。检查 mail() 函数。

正确的顺序是:

mail($to, $subject, $message, $additional_headers)

所以,我会尝试:

mail($to, 'My Subject', $message, $headers);