编写关于SendMaild的CGI

2016-01-29 18:43 8 1 收藏

编写关于SendMaild的CGI,编写关于SendMaild的CGI

【 tulaoshi.com - Linux 】


  在UNIX主机上我门可以很轻易地通过编程来发送EMAIL,有时我们需要把从表单上得来数据整理后发送到一个信箱里,例如来访者的留言,在线申请。 
  
  在UNIX系统中通常会有一个 sendmail 程序用来发送EMAIL的,这是一个十分复杂的电子邮件系统,但我们在CGI编程中用它来发送EMAIL是十分简单的事,具体的操作是打开一个通道,把输出的信息作为sendmail这个程序输入 
  
  代码如下: 
  
  open (MAIL,"|/usr/sbin/sendsendmail zjxyz@XXXX.XXX"); #注意其间的空格print MAIL $msg close MAIL; 
  
  这样我们就可以把变量$msg中的内容通过服务器上的 sendmail 程序发送到地址为zjxyz@XXXX.XXX 的信箱中,要注意的是这只是一个简单的例子,还有一些细节的地方是需要讨论的。在上述的程序中,邮件的接受者将会收到一封没有标题、没有回信地址的信件,要想发出去的信件像样一点,就必须在发送内容之前送出信头:请看以下例子: 
  
  open (MAIL,"|/usr/sbin/sendsendmail zjxyz@XXXX.XXX"); 
  print MAIL "To: $toemailn"; 
  print MAIL "From: $fromemailn"; 
  print MAIL "Reply-to: $fromemailn"; 
  print MAIL "Subject: $subjectn"; 
  printMAIL $msg; 
  print MAIL "nn"; 
  close MAIL; 
  
  我们看到的"To:"、"From:"、"Reply-to:"、"Subject:" 就是用来标识信头的,它们邮件程序中不会被当作是信件的正文在处理,程序中的换行符号是必需的的。 
  
  在这里不得不提一下安全问题,有时我们发信的的地址是从表单上获得的,如果不严格检查从表单上获得的EMAIL地址的合法性,将会给恶意的攻击者带来攻击的机会,让你的CGI程序执行一些破坏系统的操作,后果是非常严重的。简单举个例子说明: 

  
  if ($FORM{'mailto'}=~/(.*)@(.*)/){ 
  。。。。。 
  。。。。。 
  。。。。。 
  }

来源:http://www.tulaoshi.com/n/20160129/1507017.html

延伸阅读
function cdtInit( var CardWidth, CardHeight: TCoordinate): Bool; {$ifdef?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> Win32} stdcall ; {$ENDIF Win32} function cdtDraw(aDC: HDC; X, Y: TCoordinate; Card: TCardId;   Mode: Cardinal; Color: TColorRef): Bool; {$...
标签: Web开发
看了itcast里面老师的讲课,下面是我一些体会 (function(){ window['czf'] = {} 命名空间 var $$= function(){ alert('这个是私有的方法'); } window['czf']["$"] = $$; ...
使用了系统自带的纸牌库,无需任何资源,具有边角圆滑的效果,支持Windows 98、Windows 2000系统。 效果如下图:   还具有自定义图象功能,如下图所示: unit ZFPlayCard;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> { 2003.11.27 xzhifei } interfa...
标签: Web开发
网上有很多JavaScript编写的日历,这种日历读取的是本地的时间,可能会不准确。所以想找一个用php编写的,能读取服务器时间的日历,但是一直都找不到合适的,于是我自己尝试着写了一个。代码拷贝框 ?php $mnow=(isset($HTTP_GET_VARS['month']) && intval($HTTP_GET_VARS['month'])0 && intval($HTTP_GET_VARS['month'])13)?intval($HTTP_GET...
标签: ASP
ASP中数据库的安全是一个很严肃的问题。很多代码的编写者意识到了这类问题,并且小心翼翼地对他们认为有问题的地方做了补救,但常见的情况是要么没有穷尽所有的可疑地点,要么这种补救逻辑上有误。对于一个耐心且嗅觉灵敏的攻击者来说,这种意义上的补救措施和没有任何补救措施没有本质上区别。   下面罗列的是一些可能出现的问题:...

经验教程

215

收藏

10
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部