在你的phpinfo()显示的结果里,看看SMTP和sendmail_from的缺省值--它们要么是空白,要么包含了胡乱的值.你应该把它们改成有意义的值.
如果你决心在这台电脑上运行一个SMTP服务程序,你在php.ini文件中的条目就应该如下:
SMTP = localhost
但是,如果你要使用你ISP(在这个例子中是EarthLink)的外发邮件服务器,那么php.ini中的邮件看起来应该如下:
SMTP = mail.earthlink.net
你也可以使用IP地址而不是域名,因为计算机不区分这两种条目.
第二条配置指令是sendmail_from,它应该被设置成From头中的电子邮件地址.它可以在脚本里被修改但是通常作为缺省值使用.下面就是这个配置指令的示例youraddress@yourdomain.com指的是你自己的邮件地址.
sendmail_from = youraddress@yourdomain.com
在做了这些配置上的改动以后,重启Web服务程序然后使用phpinfo()函数来验证这些修改.在这些工作完成以后,你就可以用PHP来发送电子邮件了.
mail()函数是非常简单的:只有五个参数,而其中的两个是可选的.这些参数是:
接收方地址
主题
信件内容
其它文件信息头(可选)
SMTP服务程序的其它配置选项(可选)
附加的头参数控制了诸如CC, BCC, Reply-To之类的邮件功能,或者其它遵循SMTP协议的功能.在这个例子中,我只使用From 和 Reply-To信息头.
如果你想给我发邮件但你使用的是一个非Windows系统, 程序代码就应该如下:
<?
$to = "julie@thickbook.com";
$subject = "ZDNet Developer article";
$msg = "I completely understand SMTP servers now!";
$headers = "From: me@mycompany.com\nReply-To: someoneelse@mycompany.com";
$config = "-fwebmaster@mycompany.com&q
| 对此文章发表了评论 |
