您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> php >> 正文

PHP高级特性讨论之邮件相关

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-2-2 我要参与讨论

  邮件发送和收取是目前网上交流最为重要的途径之一,我们当然很希望自己的PHP程序也能够实现某些商业网站注册程序中采用的方法,即通过邮件方式进行密码(或激活码)发送和资料确认。另一方面,这种方式也是一种反馈用户信息的有效途径。当然,要实现这些功能是离不开邮件服务器的,目前比较流行的Mail服务器(更准确的说是邮件传输代理MTA)有:sendmail、qmail、postfix。至于如何配置其中的pop、smtp、imap等服务已经超出这篇文章的范围,读者可以参考其他这方面文章。那么好了,我们究竟可以利用PHP来作些什么呢?

1. 简单邮件发送

PHP函数库中有一个mail函数,可以用来进行简单的邮件发送,函数原型为:

boolean mail(string $to, string $subject, string $message, string [$additional]);

$to指定邮件寄送地址,$subject指定邮件标题,$message指定邮件内容,$additional指定邮件的附加头部,例如:

<?php
mail( "ywg_263@263.net", "message from php", "hello, xiaoyz! " );
?>


就可以向 ywg_263@263.net发送一个标题为“message from php” 内容为“hello, xiaoyz!”的邮件,其中的邮件接受人$to可以是多个邮件地址,也就是说可以同时给多个人发送同一份邮件,邮件地址之间用逗号分隔,示例如下:

<?php
$emails = Array( "xiaoyz@birdy.dhs.org", "xiaoyz@hotmail.com" );
mail( implode(",", $emails), "message from php", "hello, xiaoyz!" );
?>


笔者做过的论坛程序中的注册部分就曾经使用过这种方法,不过最后还是采用了一种变通的形式,下文将会具体讲到。其中主要的需求是:当一个用户注册之后,必须得到组管理员的身份确认才能成为论坛的正式会员,我所采用的方法是:用户注册完成提交表单时,先把用户各种注册信息写入数据库,同时把用户的必要信息通过邮件的方式发送给用户所注册组的所有组管理员(如果没有组管理员的话,会给站管理员发送邮件,并告之该组没有组管理员),当然,读者可能会觉得如果有人恶意注册了很多id的话是否会在数据库中造成很多垃圾信息呢?这种考虑是必要的,所以我们需要给出一个策略,提供一个管理界面,来剔除掉这些垃圾,一种简单的方法就是对于超过了给定时期还没有成为正式会员的id一律删除,前提就是必须保证组管理员要在给定时期之内审批这些id,否则会造成误删。读者可以试试上面的代码能否工作,如果没有发送成功,请考虑重新配置邮件服务器的smtp服务。好了,按照上述形式发送的邮件将只是简单的文本形式,如果希望发送一个HTML形式的邮件,就需要知道如何发送MIME形式的邮件了。

2. MIME邮件发送

MIME(Multi-purpose Internet Mail

[1] [2] [3] [4] [5] [6] 下一页

在google里搜索更多PHP高级特性讨论之邮件相关

Google
Web www.51ec.org
  • 上一篇信息学院:

  • 下一篇信息学院:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    我来说两句 对此文章发表了评论
      昵 称: *必填    ·注册用户·
      评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
    评 论
    内 容

     
    评论列表 (最新 评论仅限网友观点!)

    供求信息




    | 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明