下面将用Smarty产生一个时事信息程序,并用MIME mail发送,过程:

newsletter.tpl:模板文件,处理表现层的内容。

  1. <table width="90%" border="0" align="center" cellspacing="5"
  2. <tr> 
  3. <td bgcolor="#FFFFFF"><img src="1.jpg" width="30" height="30" /></td> 
  4. <td><div align="right"
  5. <h3>时事信息 {$month}, {$year} </h3> 
  6. </div></td> 
  7. </tr> 
  8. <tr> 
  9. <td width="31%" bgcolor="#999999"><table width="100%" border="0" cellpadding="0" cellspacing="1"
  10. <tr> 
  11. <td bgcolor="#999999"><div align="center"><strong>推荐: </strong></div></td> 
  12. </tr> 
  13. {section name=id loop=$books
  14. <tr> 
  15. <td bgcolor="#FFFFFF"><div align="center"><b>{$books[id]}</b>  
  16. <img src='{$images[id]}' vspace="2" height="200" /><br /> 
  17. </div></td> 
  18. </tr> 
  19. {/section} 
  20. </table></td> 
  21. <td width="69%" valign="top"
  22. <p> 
  23. <b>{$reviews.title}</b><br/> 
  24. {$reviews.description}<br/> 
  25. More : <a href='{$reviews.link}'>Click Here</a> 
  26. </p> </td> 
  27. </tr> 
  28. <tr> 
  29. <td colspan="2"><div align="center"> &copy
  30. </div></td> 
  31. </tr> 
  32. </table> 

newsletter.php:php脚本文件,逻辑层的处理,处理程序逻辑部分。

  1. <?php  
  2. include ("libs/Smarty.class.php");  
  3. $smarty = new Smarty();  
  4.   
  5. $smarty->assign("month","4");  
  6. $smarty->assign("year", 2012);  
  7. $books = array("JavaScript高级程序设计","Linux\Unix设计思想");  
  8. $images = array("2.jpg","1.jpg");  
  9. $smarty->assign("books"$books);  
  10. $smarty->assign("images"$images);  
  11. $review = <<< END  
  12. 《JavaScript高级程序设计(第3版)》是JavaScript超级畅销书的最新版。ECMAScript 5和HTML5在标准之争中双双胜出,
  13. 使大量专有实现和客户端扩展正式进入规范,同时也为JavaScript增添了很多适应未来发展的新特性。
  14. 《JavaScript高级程序设计》这一版除增加5章全新内容外,其他章节也有较大幅度的增补和修订,新内容篇幅约占三分之一。
  15. 全书从JavaScript语言实现的各个组成部分——语言核心、DOM、BOM、事件模型讲起,深入浅出地探讨了面向对象编程、Ajax与Comet服务器端通信,
  16. HTML5表单、媒体、Canvas(包括WebGL)及Web Workers、地理定位、跨文档传递消息、客户端存储(包括IndexedDB)等新API,
  17. 还介绍了离线应用和与维护、性能、部署相关的最佳开发实践。《JavaScript高级程序设计(第3版)》附录展望了未来的API和ECMAScript Harmony规范。  
  18.   《JavaScript高级程序设计(第3版)》适合有一定编程经验的Web应用开发人员阅读,也可作为高校及社会实用技术培训相关专业课程的教材。  
  19. END;  
  20. $link = "#";  
  21. $title = "JavaScript高级程序设计(第3版)";  
  22. $reviews = array("title"=>$title,  
  23. "description"=>$review,  
  24. "link"=>$link);  
  25. $smarty->assign("reviews"$reviews);  
  26. $out = $smarty->fetch("newsletter.tpl");  
  27.  
  28. $user = "someuser@somedomain.com";  
  29. $headers = "MIME-Version: 1.0 \n" ;  
  30. $headers .= "Content-Type: text/html; charset=iso-8859-1 \n";  
  31. $headers .= "From: newsletter@my_domain.com \n";  
  32. mail($user"Newsletter"$out$headers);  
  33. ?>  

效果图: