php支持从程序中发送email,mail()函数用于从脚本中发送邮件。
函数详细信息如下:
mail(to,subject,message,headers,parameters), to:表示邮件接收人(非空);subject:表示邮件的主题(非空);message:表示邮件的内容(非空);header:指定附加的标题(可空);parameters:附件的一些参数(可空)。使用mail函数的前提是在php运行的环境中配置了smtp服务器,如果是本机的环境,配置方法可参考:http://www.2cto.com/kf/201203/124805.html。 下面的php代码可以发送一封简单的邮件:
<?php
$to = "helloworld@126.com"; //收件人
$subject = "Test mail"; //邮件的主题
$message = "Hello! http://www.yeetrack.com."; //邮件的内容, PS:将一些配置写死在程序里,是很不好的编程风格,这里只是为了方便。
$from = "test@test.com"; //邮件发送人
$headers = "From: $from"; //附件头
mail($to,$subject,$message,$headers); //发送出去
echo "Mail Sent.";
?>
将上面的代码写在php文件里,放在我们的服务器上,浏览器去访问就可以触发发邮件的动作。我们还可以在邮件内容中嵌入form表单:
<html>
<body>
<?php
if (isset($_REQUEST['email'])) //首先检测用户是否填写了表单,用$_REQUEST来取得下面post过来的数据
//if "email" is filled out, send email
{
//发送邮件
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
mail( "yeetrack@126.com", "Subject: $subject",
$message, "From: $email" );
echo "邮件发送成功";
}
else
//如果表单没有填写,就加载这个表单
{
echo "<form method='post' action='mail.php'> //action动作,将这个post请求再提交给自己,就会执行上面的mail函数。
Email: <input name='email' type='text' /><br />
Subject: <input name='subject' type='text' /><br />
Message:<br />
<textarea name='message' rows='15' cols='40'>
</textarea><br />
<input type='submit' />
</form>";
}
?>
</body>
</html>
将上面的代码保存成mail.php(要和action中的文件名一致),保存到服务器中,浏览器去访问即可,填写表单,点击提交,邮件就会发出,发件人实际上是我们再php.ini中配置的地址。