0

下面是我从 Linux 服务器发送的预订表格电子邮件的代码:

$body = "
      <p>Hello sir,</p>
      <p>Name: <b> {$firstname}</b><br />
        Email: <b> {$email}</b><br />
        Phone: <b> {$phone}</b><br />
        Length Of Stay: <b> {$length} </b><br />
        Number in Party: <b> {$party} </b><br />
        Month : <b> {$month} </b><br />
        Day: <b> {$day} </b><br />
        Year: <b> {$year} </b><br />
        Additional information:<b> {$additional_information} </b>

      </p>
      <p>with best regards, <br /><b>My Website</b></p>
    ";


    $to = 'info@currentwebsite.com';
    $subject = 'Message';

    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers .= 'From: '. $email. "\r\n";
    $headers .= 'Reply-To: '.$email.'' . "\r\n" ;

    if(mail($to, $subject, $body, $headers))
    {
        phpalert( 'Your request has been sent successfully!' );
    }
    else {
        phpalert( 'Sorry! could not send your request. Please try again later.' );
    }

有谁知道我的邮件为什么不来?显示“您的请求已成功发送!” 但我在收件箱甚至垃圾邮件中都找不到任何电子邮件。

补充 有没有机会阻止来自服务器的邮件?

4

3 回答 3

0

尝试先发送一封没有任何元、标题、mime 等的简单邮件!首先尝试 php 文档示例。我他们不工作,你有一个服务器问题(php模块停用或类似的东西):

http://php.net/manual/en/function.mail.php

于 2012-05-04T11:45:14.820 回答
0
  1. 它可能无法在您的本地计算机上运行,​​因为您的本地计算机上的 SMTP 可能未配置。将此脚本托管在正确配置了 SMTP 的服务器上。

  2. 尝试更改您尝试发送电子邮件的电子邮件地址。有时会发生 php 邮件功能不会向所有域发送电子邮件。我建议为 gmail.com 域尝试此代码..

于 2012-05-04T11:49:44.563 回答
0
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '. $email. "\r\n";
$headers .= 'Reply-To: '.$email.'' . "\r\n" ;

在上面的行中,您使用了 $email,但它没有被分配。你把它分配到别的地方了吗?

于 2012-05-04T11:49:00.290 回答