初学PHP:Mail()函数不工作

时间:2012-08-22 00:22:47

标签: php email smtp gmail

我是php的新手,所以请耐心等待。我已经创建了一个我正在创建的测试网站的注册。该网站收集用户信息,然后发送确认电子邮件。到目前为止,经过几次尝试后没有收到任何电子邮我试过垃圾邮件文件夹,但无济于事。

这是我的代码:

$to = "$email";
    // Change this to your site admin email
    $from = "someperson@gmail.com";
    $subject = "Complete your registration";
    //Begin HTML Email Message where you need to change the activation URL inside
    $message = '<html>
    <body bgcolor="#FFFFFF">
    Hi ' . $username . ',
    <br /><br />
    You must complete this step to activate your account with us.
    <br /><br />
    Please click here to activate now &gt;&gt;
    <a href="http://testw.freevar.com/activation.php?id=' . $id . '">
    ACTIVATE NOW</a>
    <br /><br />
    Your Login Data is as follows: 
    <br /><br />
    E-mail Address: ' . $email . ' <br />
    Password: ' . $password . ' 
    <br /><br /> 
    Thanks! 
    </body>
    </html>';
    // end of message
    $headers = "From: $from\r\n";
    $headers .= "Content-type: text/html\r\n";
    $to = "$to";
    // Finally send the activation email to the member
    mail($to, $subject, $message, $headers,-f $from);

提前致谢!

P.S。我在线阅读了关于php.ini文件夹的内容。我从头开始创建一个网站,不知道这是什么,或者是否有必要。另外,我使用的是免费托管服务,但没有电子邮件地址。我不确定这是否会影响它。

1 个答案:

答案 0 :(得分:0)

编辑:正如评论所指出的,您的代码没有正确定义$to并且语法错误。


确保正确配置了SMTP服务器。这是用于发送(和接收但不适用)电子邮件的服务器,它的位置可能会写在您托管服务的帮助/常见问题解答部分的某处,如果他们提供的话。

< p>

php.ini 文件用于定义PHP服务器的环境变量,例如SMTP服务器的位置。这些设置也可以在PHP中使用

进行配置
ini_set('SMTP', 'smtp.example.com');
ini_set('sendmail_from', 'user@example.com');
ini_set('smtp_port','25');

修改主机提供商所描述的域名,用户电子邮件和端口号。