用PHP如何发邮件?

nnnnyyyy 2004-04-02 10:42:40
我想用PHP发邮件(yuan_ping@163.com发送到nnnnyyyy@21cn.com)按照有的书上写了一段程序,但是运行不成功。请问这是为什么?

<?php
//声明邮件地址,作为接收邮件地址
$mailTo="nnnnyyyy@21cn.com";

//邮件主题:
$mailSubject="Just a test Mail!";

//邮件正文:
$mailBody="This is a test of PHP`s mail function.";
$mailBody="It was generated by PHP version.";
$mailBoyd.=phpversion();

//邮件头部:
$mailHeaders="From:yuan_ping@163.com";

//发送邮件
if (mail($mailto,$mailSubject,$mailBody,$mailHeaders))
{
echo "Mail uccessfully sent!";
}
else
{
echo "Error in sending mail!";
}
?>

发送不成功。

机器为window 2000+apche+php;

请问这是为什么?有什么解决的方法?
谢谢!

...全文
2353 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
feixuehenshui 2004-04-03
Windows 2000用户

  安装设置服务端

  Windows XP和2000本身就拥有构件SMTP服务器的功能,只是一般还没有安装。选择“控制面板→添加/删除程序→添加/删除Windows组件”,弹出“Windows组件向导”对话框,在其中双击“Internet信息服务(IIS)”项,就会打开详细选择项,选中“SMTP Service”,按“确定”,插入Windows XP安装盘进行安装



  安装好SMTP服务器后,选择“控制面板→性能和维护→管理工具→Internet信息服务”打开Internet信息服务设置窗口,在窗口左侧点击本地计算机名,展开本地计算机目录,可以看到有两个分支“Wed站点”和“默认SMTP虚拟服务器”。在“默认SMTP虚拟服务器”上点击鼠标右键选择“属性”,打开“默认SMTP虚拟服务器属性”窗口。

  “常规”选项卡主要设置IP地址,单击IP地址下拉项选择“127.0.0.1”,表示指向本地计算机IP地址,其他项使用默认即可。如果你是局域网接入,拥有固定IP地址,那么IP地址就应该选择相应的地址



  “访问”选项卡中设置访问权限。单击“身份验证”,选择“匿名访问”,表示任何用户都可以发送,其他两项不用选择;单击“连接控制”中的“连接”和“中段限制”中的“中断”,选中“仅以下列表除外”,表示可以许接入所有用户的访问。

  “邮件”选项卡中设置邮件传输条件及限制,“限制邮件大小为”等四个选项可以使用默认值,无须更改;

  “将未传递报告的副本发送到”可将发送不成功的邮件返回发件人,并且写明不成功的原因;“死信目录”设置没有发送成功的邮件被存放的位置。

  “传输”选项中设置邮件传递时间,这里不用修改,使用默认值;“LDAP路由”选项用来指定服务器使用的目录服务器标识和属性,这里也不用启动它。

  “安全”选项中设置使用发送服务器的有权用户,默认用户是“Administrators”,你可以单击“添加”添加使用用户。

  一切设置好后,你就拥护了自己的邮件发送服务器了!




SMTP装好以后 你应该是在WINDOW2K下,你找到PHP。INI文件 在C:\WINNT下
打开找到下面这些行
[mail function]
; For Win32 only.
SMTP = 10.0.0.9 -------》替换成你的IP,10.0.0.9是偶的IP了 :)

; For Win32 only.
sendmail_from = test@test.com ---》发件人信息

然后重新启动APACHE



回复
nnnnyyyy 2004-04-03
然后在IIS里面选SMTP安装
然后设置

//请问SMTP是怎么设置的,请说一下具体步骤


然后修改你的PHP。INI 收索SMTP

//这一步如何修改呢?

修改SMTP 为LOCALHOST
然后进入SMTP服务器管理页面 简单的设定就OK了

//这一步是如何完成的?

请给我一个详细的步骤,谢谢大家。分不够再加。



回复
xumail 2004-04-03
feixuehenshui(飞雪恨水) 说的对
回复
xylegend 2004-04-03
up
回复
haojiubujian 2004-04-03
没装邮件服务器怎么发啊?见过web服务器和脚本语言就可以发送邮件了吗?如此推理,还可以创建ftp服务器咯?呵呵!
回复
nnnnyyyy 2004-04-03
feixuehenshui(飞雪恨水) :
我对你的敬仰如黄河之水,绵绵不绝。我已搞定了。
  谢了。

                   缘源
回复
feixuehenshui 2004-04-02
你可以 在你的机器上面安装SMTP服务器
在添加删除程序--》WINDOW—
然后在IIS里面选SMTP安装
然后设置
然后修改你的PHP。INI 收索SMTP
修改SMTP 为LOCALHOST
然后进入SMTP服务器管理页面 简单的设定就OK了
回复
多菜鸟 2004-04-02
up
回复
feel8 2004-04-02
使用mail函数需要装有smtp服务器。。
搜搜本版,可以找到很多发邮件的贴子。

一般可以本机装smtp,或是使用不需要验证的smtp服务器,来使用mail函数发信

或是使用socket连接远程smtp服务器发信,phpclasses.org 上有很多这样的写好的类
回复
Cain 2004-04-02
http://expert.csdn.net/Expert/topic/2887/2887656.xml?temp=5.405825E-02
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告