邮件没有发送到PHP中的相应邮件ID,

时间:2017-01-31 21:09:26

标签: php email

我是PHP的初学者,我只是想创建一个基本的注册表单来填写详细信息并发送邮件。我在远程服务器上有这个。我无法发送电子邮件。有人可以帮我解决这个问题。

if($conn->query($sql) === TRUE){


    $message =
   'ID: 201701'.$conn->insert_id. '
    Prefix: ' . $prefix . '
    Name: ' . $name . '
    Contact Number: ' . $contactNo . '
    Address: ' . $Address . '
    Email: ' . $email . '
    Job Title: ' . $JobTitle . '
    Organization: ' . $Organization . '
    City: ' . $City . '
    State: ' . $State . '
    Pin Code: ' . $Pincode;     

    mail('info@xyz.com', 'Registration for xyz',$message, $name."<".$email.">"); 

它会发送电子邮件至info@xyz.com,但它不会向下面给出的电子邮件发送电子邮件。

       $email = "yyyy@gmail.com";
       $to = $email;
        $subject = "Confirmation mail";
        $message = "Hello $prefix $name     
        ID: 201701$conn->insert_id
        Prefix:  $prefix 
        Name:  $name 
        Contact Number:  $contactNo 
        Address:  $Address 
        Email:  $email 
        Job Title:  $JobTitle 
        Organization:  $Organization 
        City:  $City 
        State:  $State 
        Pin Code:  $Pincode";

        $from = "xxx@xxx.com" ;
        $headers = "From: XXX 2016<xxx@xxxx.com>";
        $mail = mail($to,$subject,$message,$headers);
    } 
     else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

    if($mail)
    {
        echo '<p style="font-size:22px; color:green"><b>Thank You !<br/><br/>You are now Registered.</b></p>';
    }        
    else
    {
    echo '<span style="color:red">Your registration was not successful. Please try again later or send a mail to xxx@xxxx.com</span>';
    }

PS。不要考虑电子邮件ID中的xxx或yyy的数量,它只是一些随机邮件。

1 个答案:

答案 0 :(得分:0)

邮件功能使用系统邮件配置客户端 - 通常为无或仅由垃圾邮件配置(用户名@ localhost等)。在许多情况下,邮件将被发送,但它将被目标服务器拒绝 - 你永远不会知道它。 如果你可以使用插件作为“PhpMailer” - 你需要设置像普通邮件客户端一样的值,大多数邮件将被提供。或者提供可用于发送邮件的可配置主机和帐户的任何其他内容。