首页 > 编程技术 > php

phpMailer 发送邮件

发布时间:2016-11-25 17:35

//原创:www.111cn.net

注明:转载说明来处www.111cn.net

//

昨天听一网友说用php 里面的mail发邮件发不出去,我想一般都是发不了的,现在大多数据邮件提供商都不准那样了.

下面我们就用phpmailer进行了吧,

先到tom.com注册一个邮箱吧.

function smtp_mail ($accept_email,$accept_name,$accept_info) {
$mail    = new PHPMailer(); 
$mail->IsSMTP();                  // send via SMTP 
$mail->Host  = "smtp.tom.com";   // SMTP servers 
$mail->SMTPAuth = true;           // turn on SMTP authentication 
$mail->Username = "cs_he";     // SMTP username     注意:普通邮件认证不需要加 @域名
$mail->Password = "123456";          // SMTP password 
$mail->From  = "cs_he@tom.com";        // 发件人邮箱
$mail->FromName =  "请查收您签名";    // 发件人
$mail->CharSet  = "GB2312";              // 这里指定字符集!
$mail->Encoding = "base64";
$mail->AddAddress("$accept_email","$accept_name");    // 收件人邮箱和姓名
$mail->AddReplyTo("cs_he@tom.com","tom.com");
$mail->IsHTML(true);    // send as HTML            
$mail->Subject  = '您好,请查收您签名'; // 邮件主题
// 邮件内容 
$mail->Body = "$accept_info";                                                                       

$mail->AltBody ="text/html"; 
$mail->Send();
}

上面就这简单了.


<?
/*
|| 一个简单的计数器
*/
function get_hitcount($counter_file)
{
/* 将计数器归零
这样如果计数器还未被使用,初始值将是1
你当然也可以把初始值设成20000来骗人咯
*/
$count=0;
// 如果存放计数器文件已经存在,读取其中的内容
if ( file_exists($counter_file) )
{
$fp=fopen($counter_file,"r");
// 我们只取了前20位,希望你的站点不要太受欢迎啊
$count=intval( fgets($fp,20));
// 由于函数fgets()返回字符串,我们可以通过加0的方法将其自动转换为整数
fclose($fp);
// 对文件操作完毕
}
// 增加一次计数值
$count ;
// 将新的计数值写入文件
$fp=fopen($counter_file,"w");
fputs($fp,$count);
fclose($fp);
# 返回计数值
return ($count);
}
?>
模板其实就是php和html的分离,有人也说mvc啥的。
php处理程序,把动态内容保存到变量里面,然后通过模板输出这些变量的内容,这就是模板
你可以
$rows = $db->getAll($sql);
require "tpl.html";
来输出。
你也可以
$tpl->setVar("rows",$rows);
$tpl->display("tpl.html");
来输出,总之他是输出变量里面的内容。

我感觉模板应该有下面的特征
1,就是html页面
2,即见即得
3,书写简化,容易扩展。(这一点非常重要,其实就是换个简单的书写形式)
smarty自定义函数还有什么的,还有其他模板也有类似功能。比如{article.addtime:date:Y-m-d} {article.content:nl2br:}
如果能做到上面的三点,我感觉就是一个很好的模板。
很多人说直接用php来做html模板,我比较反对这种形式
1,php代码看不到。
2,书写太繁,太麻烦。
如果看起来麻烦,书写也麻烦,我拿模板来干什么,做花瓶?

discuz的模板就是一个不错的模板,可惜2,3两点他做得不太好,我自己也做个模板。到现在也一直用,差什么就加什么,对我来说他就是一个好的模板。
1,就是html页面
2,即见即得,你看到的什么样子,输出就是什么样子。不像很多人去搞个href="$cssPath/css.css"这样去搞个,div+css的页面这种模板美工改起来肯定没少吃苦。
3,书写简化   其实就是函数的简写。就如上面的,比如发布时间需要格式化可以任意改,比如内容要吧回车变成换行,比如要把内容弄到一个编辑器。{content:htmleditor:},比如。。。。,他就是一个简写,这样做起来什么事情都事倍功半。还记得那个页面的调用吧?比如最新产品显示8个,最新。。。显示10个。(很多所谓的cms采用标签)
其实说白了就是一个foreach,传入参数返回一个二维数组。
于是就有了
<!--{loop NewProduct:sortid=1;limit=8 $product}-->
{product.productname:cut:20} ....
<!---{/loop}-->
有一天客户要求变了,要调用精华产品,于是
<!--{loop NewProduct:sortid=1;limit=8 $product}-->
变成了
<!--{loop NewProduct:sortid=1;digest=1;limit=8 $product}-->
我感觉这就是简化,美工只要明白,这里应该是循环就行了,到现在和我合作的美工还没有一个不会改我的模板的,虽然他不懂程序。
4,模板吧,你要追求速度,缓存吧。
缓存真的有用吗?俺为啥要缓存?
很多人说设置下缓存时间,html缓存就行了,这个能叫缓存么?如果是动态网页,上面写的
欢迎你,{username},你还能把他缓存了?你说不缓存吧,下面的调用又太多,咋办捏?
这时候就要用到局部缓存,什么叫局部缓存,就是缓存页面的也部分。
其实说白了也就是那些调用。
<!--{loop NewProduct:sortid=1;limit=8 $product}-->
这种地方的调用,如果首页显示20个分类的最新5篇文章,那打开页面,光这些文章调用就要20次查询。局部缓存吧
<!--{#loop NewProduct:sortid=1;limit=8 $product}-->
loop我加一个#就让他缓存了。
我加20个#,首页的调用就没数据库查询了,好像有的地方必须每次都调用最新的,咋办呢,把#去掉吧。

模板就是模板,虽然只负责显示,不一定就不重要,如果让模板变得简单倒是我们应该考虑的问题。

本站原创转载请注明来处

<?php


session_start();


header("content-type:image/png");设置生成图片的格式这里为png


$width=40;//宽度


$height=25;//高度


$color="#ffffff";//色彩


$num=rand(1000,9999);//生成随机数4位


$_SESSION['ver']=$num;保存到session以前验证


$img=imagecreate($width,$height);//使用imagecreate创建图片


$bg1=imagecolorallocate($img,rand(0,100),rand(0,250),rand(0,255));//图片色采


$bg2=imagecolorallocate($img,rand(0,205),rand(0,250),rand(0,245));


//imageline($img,40,20,40,40,$color);


//imagesetpixel($img,44,44,$color);


imagestring($img,7,4,7,$num,$bg2);//增加杂点


imagepng($img);//生成图片


imagedestroy($img);//销毁


?>

这个是很简单的,所以就不详细的讲说了.

 

<?php
function ubbcode($str){
 //$str = str_replace("file:","file :",$str);
 //$str = str_replace("files:","files :",$str);
 //$str = str_replace("script:","script :",$str);
 //$str = str_replace("js:","js :",$str);
   
 //图片UBB
 $str = preg_replace("/\[img\](http|https|ftp):\/\/(.[^\[]*)\[\/img\]/i", "<a onfocus=\"this.blur()\" href=\"\${1}://\${2}\" target=new><img" width=100% src=\"\${1}://\${2}\" border=\"0\" alt=\"按此在新窗口浏览图片\" onload=\"javascript:if(this.width>300)this.width=300\"></a>", $str);
 $str = preg_replace("/\[img=*([0-9]*),*([0-9]*)\](http|https|ftp):\/\/(.[^\[]*)\[\/img\]/i", "<a onfocus=\"this.blur()\" href=\"\${3}://\${4}\" target=new><img" width=100% src=\"\${3}://\${4}\" border=\"0\"  width=\"\${1}\" heigh=\"\${2}\" alt=\"按此在新窗口浏览图片\" onload=\"javascript:if(this.width>300)this.width=300\"></a>", $str);
 
 $str = preg_replace("/(\[img\])images\/face\/em(.*?)\.gif(\[\/img\])/i", "<img" width=100% src=\"images/face/em\${2}.gif\" />", $str);
 //链接UBB
 $str = preg_replace("/(\[url\])(.[^\[]*)(\[url\])/i", "<a href=\"\${2}\" target=\"new\">\${1}</a>", $str);
 $str = preg_replace("/\[url=(.[^\[]*)\]/i", "<a href=\"\${1}\" target=\"new\">", $str);
 //邮箱UBB
 $str = preg_replace("/(\[email\])(.*?)(\[\/email\])/i", "<img align=\"absmiddle\" \"src=image/email1.gif\"><a href=\"
mailto:\${2}\">\${2}</a>", $str);
 $str = preg_replace("/\[email=(.[^\[]*)\]/i", "<img align=\"absmiddle\"" width=100% src=\"image/email1.gif\"><a href=\"
mailto:\${1}\" target=\"new\">", $str);
 //QQ号码UBB
 $str = preg_replace("/\[qq=([0-9]*)\]([0-9]*)\[\/qq\]/i", "<a target=\"new\" href=\"tencent://message/?uin=\${2}&Site=www.52515.net&Menu=yes\"><img border=\"0\"" width=100% src=\"
http://wpa.qq.com/pa?p=1:\${2}:\${1}\" alt=\"点击这里给我发消息\"></a>", $str);
 //颜色UBB
 $str = preg_replace("/\[color=(.[^\[]*)\]/i", "<font color=\"\${1}\">", $str);
 //文字字体UBB
 $str = preg_replace("/\[font=(.[^\[]*)\]/i", "<font face=\"\${1}\">", $str);
 //文字大小UBB
 $str = preg_replace("/\[size=([0-9]*)\]/i", "<font size=\"\${1}\">", $str);
 $str = preg_replace("/\[size=([0-9]*)pt\]/i", "<font size=\"\${1}\">", $str);
 $str = preg_replace("/\[size=([0-9]*)px\]/i", "<font size=\"\${1}\">", $str);
 //文字对齐方式UBB
 $str = preg_replace("/\[align=(center|left|right)\]/i", "<div align=\"\${1}\">", $str);
 //表格UBB
 //$str = preg_replace("/\[table=(.[^\[]*)\]/i", "<table width=\"\${1}\" border=\"1\" style=\"border-collapse:collapse\">", $str);
 //表格UBB2
 //$str = preg_replace("/\[td=([0-9]*),([0-9]*),([0-9]*)\]/i", "<td colspan=\"\${1}\" rowspan=\"\${2}\" width=\"\${3}\">", $str);
 //字体倾斜
 $str = preg_replace("/\[i\]((.|\n)*?)\[\/i\]/i", "<i>\${1}</i>", $str);
 //FLASH动画UBB
 $str = preg_replace("/(\[flash\])(http:\/\/.[^\[]*(.swf))(\[\/flash\])/i", "<a href=\"\${2}\" target=\"new\"><img" width=100% src=\"image/swf.gif\" border=\"0\" alt=\"点击开新窗口欣赏该flash动画!\" height=\"16\" width=\"16\">[全屏欣赏]</a><br><center><object codebase=\"
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"300\" height=\"200\"><param name=\"movie\" value=\"\${2}\"><param name=\"quality\" value=\"high\"><embed" width=100% src=\"\${2}\" quality=\"high\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash\" type=\"application/x-shockwave-flash\" width=\"300\" height=\"200\">\${2}</embed></object></center>", $str);
 $str = preg_replace("/(\[flash=*([0-9]*),*([0-9]*)\])(http:\/\/.[^\[]*(.swf))(\[\/flash\])/i", "<a href=\"\${4}\" target=\"new\"><img" width=100% src=\"image/swf.gif\" border=\"0\" alt=\"点击开新窗口欣赏该flash动画!\" height=\"16\" width=\"16\">[全屏欣赏]</a><br><center><object codebase=\"
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"\${2}\" height=\"\${3}\"><param name=\"movie\" value=\"\${4}\"><param name=quality value=high><embed" width=100% src=\"\${4}\" quality=\"high\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash\" type=\"application/x-shockwave-flash\" width=\"\${2}\" height=\"\${3}\">\${4}</embed></object></center>", $str);
   
 //MEDIA PLAY播放UBB
 $str = preg_replace("/\[wmv\](.[^\[]*)\[\/wmv]/i", "<object align=\"middle\" classid=\"clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95\" class=\"object\" id=\"mediaplayer\" width=\"300\" height=\"200\" ><param name=\"showstatusbar\" value=\"-1\"><param name=\"filename\" value=\"\${1}\"><embed type=\"application/x-oleobject\" codebase=\"
http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701\" flename=\"mp\"" width=100% src=\"\${1}\"  width=\"300\" height=\"200\"></embed></object>", $str);
 $str = preg_replace("/\[wmv=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/wmv]/i", "<object align=\"middle\" classid=\"clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95\" class=\"object\" id=\"mediaplayer\" width=\"\${1}\" height=\"\${2}\" ><param name=\"showstatusbar\" value=\"-1\"><param name=\"filename\" value=\"\${3}\"><embed type=\"application/x-oleobject\" codebase=\"
http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701\" flename=\"mp\"" width=100% src=\"\${3}\"  width=\"\${1}\" height=\"\${2}\"></embed></object>", $str);
   
 //REALPLAY 播放UBB
 $str = preg_replace("/\[rm\](.[^\[]*)\[\/rm]/i", "<object classid=\"clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa\" class=\"object\" id=\"raocx\" width=\"300\" height=\"200\"><param name=\"src\" value=\"\${1}\"><param name=\"console\" value=\"clip1\"><param name=\"controls\" value=\"imagewindow\"><param name=\"autostart\" value=\"true\"></object><br><object classid=\"clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa\" height=\"32\" id=\"video2\" width=\"300\"><param name=\"src\" value=\"\${1}\"><param name=\"autostart\" value=\"-1\"><param name=\"controls\" value=\"controlpanel\"><param name=\"console\" value=\"clip1\"></object>", $str);
 $str = preg_replace("/\[rm=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/rm]/i", "<object classid=\"clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa\" class=\"object\" id=\"raocx\" width=\"\${1}\" height=\"\${2}\"><param name=\"src\" value=\"\${3}\"><param name=\"console\" value=\"clip1\"><param name=\"controls\" value=\"imagewindow\"><param name=\"autostart\" value=\"true\"></object><br><object classid=\"clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa\" height=\"32\" id=\"video2\" width=\"\${1}\"><param name=\"src\" value=\"\${3}\"><param name=\"autostart\" value=\"-1\"><param name=\"controls\" value=\"controlpanel\"><param name=\"console\" value=\"clip1\"></object>", $str);
    $str = str_replace("\r\n", "<BR/>", $str);
 $str = preg_replace("/\[rm=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/rm]/i", "<object classid=\"clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa\" class=\"object\" id=\"raocx\" width=\"\${1}\" height=\"\${2}\"><param name=\"src\" value=\"\${3}\"><param name=\"console\" value=\"clip1\"><param name=\"controls\" value=\"imagewindow\"><param name=\"autostart\" value=\"true\"></object><br><object classid=\"clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa\" height=\"32\" id=\"video2\" width=\"\${1}\"><param name=\"src\" value=\"\${3}\"><param name=\"autostart\" value=\"-1\"><param name=\"controls\" value=\"controlpanel\"><param name=\"console\" value=\"clip1\"></object>", $str);
/*
 re.pattern="\[code\]((.|\n)*?)\[\/code\]"
 Set tempcodes=re.Execute($str)
 For i=0 To tempcodes.count-1
   re.pattern="<BR/>"
   tempcode=Replace(tempcodes(i),"<BR/>",vbcrlf)
   $str=replace($str,tempcodes(i),tempcode)
 next
*/
    $searcharray = array("[/url]","[/email]","[/color]", "[/size]", "[/font]", "[/align]", "[b]", "[/b]","[u]", "[/u]", "[list]", "[list=1]", "[list=a]","[list=A]", "[*]", "[/list]", "[indent]", "[/indent]","[ DISCUZ_CODE_0 ]","[quote]","[/quote]","[tr]","[td]","[/td]","[/tr]","[/table]");
 $replacearray= array("</a>","</a>","</font>", "</font>", "</font>", "</div>", "<b>", "</b>","<u>", "</u>", "<ul>", "<ol type=1>", "<ol type=a>","<ol type=A>", "<li>", "</ul></ol>", "<blockquote>", "</blockquote>","<div><textarea name=\"codes\" id=\"codes\" rows=\"12\" cols=\"65\">","</textarea><br/><input type=\"button\" value=\"运行代码\" onclick=\"RunCode()\"> <input type=\"button\" value=\"复制代码\" onclick=\"CopyCode()\"> <input type=\"button\" value=\"另存代码\" onclick=\"SaveCode()\"> <input type=\"button\" value=\"跳&nbsp;&nbsp;转\" onclick=\"Goto(prompt('请输入要跳转到第几行?','1'))\"  accesskey=\"g\"> &nbsp;提示:您可以先修改部分代码再运行</div>","<div style=\"background:#E2F2FF;width:90%;height:auto;border:1px solid #3CAAEC;padding:5px;\">","</div>","<tr>","<td>","</td>","</tr>","</table>");
 for ($i=0; $i<count($searcharray); $i++){
  $str = str_replace($searcharray[$i], $replacearray[$i], $str);
 }
 return $str;
}
/*
 're.Pattern="\[UPLOAD=(gif|jpg|jpeg|bmp)\](.[^\[]*)(gif|jpg|jpeg|bmp)\[\/UPLOAD\]"
 '$str= re.Replace($str,"<br><IMG SRC=\"image/$1.gif\" border=0>此主题相关链接如下:<br><A HREF=\"$2$1\" TARGET=_blank><IMG SRC=\"$2$1\" border=0 alt=按此在新窗口浏览图片 onload=\"javascript:if(this.width>screen.width-333)this.width=screen.width-333\"></A>")
 're.Pattern="\[UPLOAD=(doc|xls|ppt|htm|swf|rar|zip|exe)\](.[^\[]*)(doc|xls|ppt|htm|swf|rar|zip|exe)\[\/UPLOAD\]"
 '$str= re.Replace($str,"<br><IMG SRC=\"image/$1.gif\" border=0>此主题相关链接如下:<br><a href=\"$2$1\" target='_blank'>点击浏览该文件</a>")
 '自动识别网址
 're.Pattern = "^((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)"
 '$str = re.Replace($str,"<img align=absmiddle" width=100% src=image/url.gif border=0><a target=_blank href=$1>$1</a>")
 're.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)$"
 '$str = re.Replace($str,"<img align=absmiddle" width=100% src=image/url.gif border=0><a target=_blank href=$1>$1</a>")
 're.Pattern = "([^>=\"])((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)"
 '$str = re.Replace($str,"$1<img align=absmiddle" width=100% src=image/url.gif border=0><a target=_blank href=$2>$2</a>")
 '自动识别www等开头的网址
 're.Pattern = "([^(
http://|http:\\)])((www|cn)[.](\w)+[.]{1,}(net|com|cn|org|cc)(((\/[\~]*|\\[\~]*)(\w)+)|[.](\w)+)*(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*)"
 '$str = re.Replace($str,"<img align=absmiddle" width=100% src=image/url.gif border=0><a target=_blank href=http://$2>$2</a>")
 're.Pattern="\[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/SHADOW]"
 '$str=re.Replace($str,"<div style=\"width:$1;filter:shadow(color=$2, strength=$3)\">$4</div>")
 're.Pattern="\[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/GLOW]"
 '$str=re.Replace($str,"<div style=\"width:$1;filter:glow(color=$2, strength=$3)\">$4</div>")
*/
?>

标签:[!--infotagslink--]

您可能感兴趣的文章: