用PHP发电子邮件2

作者:袖梨 2022-07-02
mail()函数是非常简单的:只有五个参数,而其中的两个是可选的.这些参数是:
接收方地址
主题
信件内容
其它文件信息头(可选)
SMTP服务程序的其它配置选项(可选)
附加的头参数控制了诸如CC, BCC, Reply-To之类的邮件功能,或者其它遵循SMTP协议的功能.在这个例子中,我只使用From 和 Reply-To信息头.
如果你想给我发邮件但你使用的是一个非Windows系统, 程序代码就应该如下:
$to = "[email protected]";
$subject = "ZDNet Developer article";
$msg = "I completely understand SMTP servers now!";
$headers = "From: [email protected] Reply-To: [email protected]";
$config = "[email protected]";
mail("$to", "$subject", "$msg", "$headers", "$config");
echo "finished!";
?>
如果你使用的是一个基于Windows的SMTP服务,那么你有可能不需要使用第五个参数,而且在附加的头信息参数中(也就是第四个参数),你需要将它们分开写--使用 而不是 .所以,同样的一个邮件通过基于Windows的SMTP服务发送的代码如下:
$to = "[email protected]";
$subject = "ZDNet Developer article";
$msg = "I completely understand SMTP servers now!";
$headers = "From: [email protected] Reply-To: [email protected]";
mail("$to", "$subject", "$msg", "$headers");
echo "finished!";
?>
脚本中的echo语句使你的Web浏览器在脚本运行完成的时候向你显示一条信息.如果不写echo语句,你就会得到一个"空文件"的对话框,因为没有任何输出能够发送到浏览器端.
只要能够连接到指定的SMTP服务器mail()函数就会返回真值.但是这并不意味着邮件成功的到达了接收方那里.mail()函数不会等待或报告SMTP服务器发来的成功/错误代码.
mail()函数有可能返回假值,然后给你警告"无法连接,在第x行"或是"未知的错误,在第x行."如果这两条信息中的任何一条出现了,你就应该检查php.ini中的SMTP值.引起这些消息有两种可能:SMTP服务器瘫痪了,或者PHP无法连接到它.无论是这两种情况中的哪一种,你的邮件都无法被发送出去.

相关文章

精彩推荐