LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

用PHP编制邮件转发通用程序

admin
2012年4月4日 1:3 本文热度 2283
在网站建设过程当中经常需要提供一些表格,根据用户的选择将用户信息转发至不同的e-mail中。 单独转发一个e-mail比较简单,在网上也有许多用PERL语言编制的程序,但一次根据情况转发至不同的e-mail则相对较难,我这段时间刚好需要,所以用PHP编写了这个程序,使用情况良好,所以提供给大家共享。



PHP处理程序如下:




// purpose: transformming email

// author: pengwu wang

// date: Oct. 21,2003



/*用send-form.php要求的字段的说明:

form中method 用 post

namex, 用户名

title, 显示的标题

from, 从那儿送过来,缺省test@test.com

urlto, 是完成以后显示的页面, 缺省取为空,即在原网页不动,有一个提示框显示,否则转至要求的网页

cc, 密送的邮箱地址,缺省取test@test.com

sendto_name, 要替换sendto或sendto[]的名称, sendto缺省用'sendto',sendto[]缺省用'发送至'

namex_name, 要替换namex的名称, 缺省用namex

sendto, 要发送至单独一个email的项



sendto[], 要发送至多个email的项, 对每一个checkbox,radio按钮,其name写sendto[]=......

email_1,

email_2,

email_3,

email_4,

......, 根据sendto[]值发向不同地的email地址值. 此处的1,2,3,4等要换成与sendto[]所选值完全相等

如:email_测试1=test1@test.com, email_测试2=test2@test.com

则sendto[]项最后可取的值应为: 测试1,测试2

对于表单中不需要的字段应以hidden方式发送;

namex,title,sendto,或sendto[]是必须填写的. 当为sendto[]时email_*值必须写. 其它的可以不写

除sendto[]外,其它的name不能重复,因为不好判断其组别关系.

*/



//此6个变量先取出来是为了方便

$from=$_POST[from];

$cc=$_POST[cc];

$urlto=$_POST[urlto];

$sendto=$_POST[sendto];

$sendto_name=$_POST[sendto_name];

$namex_name=$_POST[namex_name];



$ret=false;

if(!is_array($sendto) amp;amp; !empty($sendto)) $ret=true;

if(is_array($sendto)) { //多邮件发送

reset($sendto);

while(list($k,$v)=each($sendto)) {

if(isset($k) amp;amp; isset($v)) {

$ret=true;

break;

}

}

}

if(!$ret) {

echo("



");

exit; //所给的邮件地址都为空

}



$subject .= $_POST[title]." - ".$_POST[namex];

$body = "";

$body .= $subject."
";

$body .= "填表日期 : ".date("Y年m月d日",time())."
";

$body .= "----------------------------------------
";

$body .= " ";



reset ($_POST);

while (list ($key, $val) = each ($_POST)) {

if(ereg("^email_.*",$key)) continue;

else if(strcmp($key,"title")==0) continue;

else if(strcmp($key,"cc")==0) continue;

else if(strcmp($key,"from")==0) continue;

else if(strcmp($key,"urlto")==0) continue;

else if(strcmp($key,"sendto_name")==0) continue;

else if(strcmp($key,"namex_name")==0) continue;

else if(strcmp($key,"sendto")==0 amp;amp; !is_array($key) amp; empty($val)) continue;



$body .= " ";

if(strcmp($key,"sendto")==0 amp;amp; is_array($sendto)) {

reset($sendto);

while(list($k,$v)=each($sendto)) {

if(isset($sendto_name) amp;amp; !empty($sendto_name))

$body .= " ";

else

$body .= " ";

$body .= "";

}

} else {

if(strcmp($key,"sendto")==0)

$body .= " ";

else if(strcmp($key,"namex")==0)

$body .= " ";

else

$body .= " ";

$body .= "
$sendto_name $v发送至 $v
$sendto_name $val$namex_name $val$key $val

该文章在 2012/4/4 1:03:54 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved