PHP邮件发送类——采用邮件专递方式,无需smtp服务器 30 November 2009 23:54 Monday by 小屋 浏览(2272)

本类参考了网上关于PHP的MIME MAIL和SMTP发送协议的文章,本类可以在*NUX或WIN平台下并且无需SMTP服务器,直接通过邮件专递方式送到邮件接收方的邮件服务器中。

    需要注意的是在发送大尺寸邮件时,建议在服务器允许MAIL()发送的情况下,尽量开启'usemail'=>true,因为用PHP的SOCKE 方式发送效率相对于MAIL()函数来说要低;另外要说明的是由于采用邮件专递的方式邮件没有本地暂存发送,为了可靠性和避免长时间等待的过时问题,所以 在没有启用PHP的MAIL函数时,本类没有添加支持用通过分号分隔的多帐号同时发送的功能。

    本类在nease.net的Linux+php5虚拟主机空间(该空间不能使用PHP自带的MAIL函数发邮件,写此类当时就是为了在这个空间下发送邮件)及win2003+IIS6+php4.3上测试成功。

简单范例:

require("mailer.class.php");
$mailer=new mailer();
$mailer->mConfig['mailform']="xxx@21cn.com";
$isended=$mailer->mail("nobody@example.com","the subject","hello","From: webmaster@example.com");
if($isended)
{
    echo "true";
}
else
{
    echo "false";
}

阅读全文>>

php在UTF-8下的中文字符截断处理 30 November 2009 23:22 Monday by小屋 浏览(1965)

1、计算长度
function utf_strlen($str) {
$i = 0;
$count = 0;
$len = strlen ($str);
while ($i < $len) {
   $chr = ord ($str[$i]);
   $count++;
   $i++;
   if($i >= $len) break;
   if($chr & 0x80) {
    $chr <<= 1;
    while ($chr & 0x80) {
    $i++;
    $chr <<= 1;
    }
   }
}
return $count;
}
2、截断处理

阅读全文>>