我的代码在某处错了吗?我没有收到任何电子邮件

时间:2012-05-04 11:34:27

标签: php email

以下是从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.' );
    }

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

是否有机会阻止来自服务器的邮件?

3 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分: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,但未分配。你有没有把它分配到其他地方?

答案 2 :(得分:0)

  1. 它可能无法在本地计算机上运行,​​因为可能未配置本地计算机上的SMTP。在正确配置SMTP的服务器上托管此脚本。

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