成功注册后发送邮件

时间:2013-01-23 10:45:27

标签: php html sql http-headers

我正在尝试编写脚本,以便在用户使用PHP成功注册时邮寄用户。 虽然没有发送电子邮件,但用户在数据库中注册成功。 这是我的代码:

<?php
function send_mail($id,$name,$email,$password)
{   
    $from='Admin <admin@mydomain.com>';
    $headers = '';
    $headers .= "From: $from\n";
    $headers .= "Reply-to: $from\n";
    $headers .= "Return-Path: $from\n";
    $headers .= "Message-ID: <" . md5(uniqid(time())) . "@" . $_SERVER['SERVER_NAME'] . ">\n";
    $headers .= "Date: " . date('r', time()) . "\n";
    $headers .= "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

}
$subject = "Welcome!";
$message = "
<p></p><br>
Hi ".$name."<br>
Thank you for registering for the event.<br><br>
Your ID is ".$id."<br>
Login using your email id : ".$email." and,<br>
your password : ".$password."<br><br>
";


mail($email,$subject,$message,$headers);
?>

在我的register.php脚本中,我已经包含了:

send_mail($u_id,$u_name,$_POST['email'],$password)

函数的参数是id(INT),name(VARCHAR),email(VARCHAR)&amp; password(VARCHAR)

2 个答案:

答案 0 :(得分:1)

我认为你的mail()函数不在send_mail()函数中。

将其更改为,

function send_mail($id,$name,$email,$password)
{   
    $from='Admin <admin@mydomain.com>';
    $headers = '';
    $headers .= "From: $from\n";
    $headers .= "Reply-to: $from\n";
    $headers .= "Return-Path: $from\n";
    $headers .= "Message-ID: <" . md5(uniqid(time())) . "@" . $_SERVER['SERVER_NAME'] . ">\n";
    $headers .= "Date: " . date('r', time()) . "\n";
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

    $subject = "Welcome!";
    $message = "
    <p></p><br>
    Hi ".$name."<br>
   Thank you for registering for the event.<br><br>
   Your ID is ".$id."<br>
   Login using your email id : ".$email." and,<br>
   your password : ".$password."<br><br>";


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

}

答案 1 :(得分:0)

在邮件功能之后关闭函数循环,而不是在子

之前关闭