一个简单的自动发送邮件系统(一)


Posted in PHP onOctober 09, 2006

一个简单的自动发送邮件系统
    php的另一个强大的特征就是他有能通过html的表单修改变量的能力,通过这些变量,我们可以实现很多任务,包括象:发送wed-based的邮件,把信息输出给屏幕,从数据库中读取和传递数据。下面让我们构建一个小型的自动发送邮件系统,来演示这个能力。
    让我们假设有这样一个html的表单:

--------------------------------------

<HTML>
<HEAD>
<TITLE>Request for more information</TITLE>
<BODY>

<CENTER>Would you like more information about our company?
<P>

<TABLE WIDTH = 400><TR><TD align = right>

<FORM ACTION="email.php3" METHOD="POST">

Your name:<BR>
<INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30">
<P>
Your email address:<BR>
<INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30">
<P>
I prefer:
<SELECT NAME="preference">
<OPTION value = Apples>Apples
<OPTION value = Oranges>Oranges
</SELECT>
<P>
<INPUT TYPE="submit" VALUE="Send it!">
</FORM>
</TD></TR></TABLE></CENTER>

</BODY>
</HTML>

--------------------------------------

把这个文件存为moreinfo.html

注意 action指向文件:email.php3  下面就是email.php3文件:

--------------------------------------

<?
/* this script will handle the variables passed from the moreinfo.html file */
PRINT "<CENTER>";PRINT "Hello, $name.";PRINT "<BR><BR>";
PRINT "Thank you for your interest.<BR><BR>";
PRINT "We will send information to $email, and have noted that you like $preference.";
PRINT "</CENTER>";
?>

--------------------------------------

把上面的文件存为email.php3

   当用户在表单里键入他们的name和email,点击“send it!”按钮,表单就会调用email.php3文件,依次如下显示:(这里我们假设person'name  是bill, email地址是bgates@devshed.com ,选择了apples):

--------------------------------------
Hello, Bill.

Thank you for your interest.

We will send information to bgates@devshed.com, and have noted that you like Apples

--------------------------------------

    这样我们的工程还没有完成,由于我们不知道谁曾经插入了一些信息,也没有什么实质性的事情发生过,我们没有办法给bill发信。

    为了减少用手工发送标准email的负担,我们可以使用php的mail()命令。
    语法:void mail(string to, string subject, string message, string add_headers);  

   ·to---寄出电子邮件到指定的邮件地址
   ·subject 表示主题
   ·message 为信件内容
   ·additional_headers 可省略,表示其它的邮件文件头。

    因而,如果我们把这个命令插入到print语句之后,我们就可以自动的给用户和网站的斑竹发信了,让我们知道谁需要这些信息。

--------------------------------------

<?
mail("$email", "Your request for information", "$namen
Thank you for your interest!nWe sell fresh corn daily over the Internet!
Place your order  at http://www.buycorn.com,
and receive a free package of $preference!");
mail("administration@buycorn.com",
"Visitor request for info.","$name requested for information.n
The email address is $email. n The visitor prefers $preference.");
?>

--------------------------------------

注意:mail()函数仅仅在SENDMAIL装在服务器上才可以使用,所以,在大多数情况下,使用前先确定是否可以使用。

     但是当有很多人填写了信息,作为管理人员,你不可能一一浏览信件,你可以用数据库来跟踪究竟有多少人选择apples,多少人选择了oranges?这样的数据库有很多种,其中最快之一的就是mysql。

     再下一篇文章中,我将给大家介绍如何将php和mysql结合起来使用。

PHP 相关文章推荐
PHP分页显示制作详细讲解
Nov 19 PHP
PHP语言中global和$GLOBALS[]的分析 之二
Feb 02 PHP
解析PHP无限级分类方法及代码
Jun 21 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
May 04 PHP
PHP动态页生成静态页的3种常用方法
Nov 13 PHP
nginx+thinkphp下解决不支持pathinfo模式
Jul 01 PHP
PHP 获取ip地址代码汇总
Jul 05 PHP
Laravel路由设定和子路由设定实例分析
Mar 30 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
PHP面向对象程序设计方法实例详解
Dec 24 PHP
php实现简单的权限管理的示例代码
Aug 25 PHP
PHP中抽象类,接口功能、定义方法示例
Feb 26 PHP
一个简单的自动发送邮件系统(二)
Oct 09 #PHP
通过html表格发电子邮件
Oct 09 #PHP
在 PHP 中使用随机数的三个步骤
Oct 09 #PHP
用PHP制作静态网站的模板框架(四)
Oct 09 #PHP
用PHP制作静态网站的模板框架(三)
Oct 09 #PHP
用PHP制作静态网站的模板框架(二)
Oct 09 #PHP
用PHP制作静态网站的模板框架(一)
Oct 09 #PHP
You might like
php a simple smtp class
2007/11/26 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
2020/03/18 PHP
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
JS数组合并push与concat区别分析
2015/12/17 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
jquery解析XML及获取XML节点名称的实现代码
2016/05/18 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
javascript类型系统——undefined和null全面了解
2016/07/13 Javascript
ES6入门教程之Class和Module详解
2017/05/17 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
2017/08/29 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
2019/07/16 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
2018/12/05 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
Python PIL图片添加字体的例子
2019/08/22 Python
windows下python安装pip方法详解
2020/02/10 Python
Bench加拿大官方网站:英国城市服装品牌
2017/11/03 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
团委竞选演讲稿
2014/04/24 职场文书
从严治党主题教育活动总结
2015/05/07 职场文书
springBoot基于webSocket实现扫码登录
2021/06/22 Java/Android
图神经网络GNN算法
2022/05/11 Python