/*
include "mime_mail.inc";
$filename = "testfile.jpg";
$content_type = "image/jpeg";
# 坐取磁碟彦的 JPEG <?php
include_once("mime.inc");
$mm = new MIME();
$to = "customer@263.net";
$subject = $mm->encode("商城","gb2312"); // 编码
$msg = "注册会员成功<br>";
$msg .= "会员名:wayne<br>";
$msg .= "密码:wayne</font>";
$headers = "From: webmaster@263.net Content-Type: text/html; charset=gb2312 ";
mail("$to", "$subject", "$msg", "$headers");
?>
进行编码以后,中文问题解决。
<?php
// $Horde: horde/lib/MIME.php,v 1.63 2001/08/08 21:00:27 chuck Exp $
$mime_types =
array(
TYPETEXT => 'text', 'text' => TYPETEXT,
TYPEMULTIPART => 'multipart', 'multipart' => TYPEMULTIPART,
TYPEMESSAGE => 'message', 'message' => TYPEMESSAGE,
TYPEAPPLICATION => 'application', 'application' => TYPEAPPLICATION,
TYPEAUDIO => 'audio', 'audio' => TYPEAUDIO,
TYPEIMAGE => 'image', 'image' => TYPEIMAGE,
TYPEVIDEO => 'video', 'video' => TYPEVIDEO,
TYPEOTHER => 'unknown', 'unknown' => TYPEOTHER
);
$mime_encodings =
array(
ENC7BIT => '7bit', '7bit' => ENC7BIT,
ENC8BIT => '8bit', '8bit' => ENC8BIT,
ENCBINARY => 'binary', 'binary' => ENCBINARY,
ENCBASE64 => 'base64', 'base64' => ENCBASE64,
ENCQUOTEDPRINTABLE => 'quoted-printable', 'quoted-printable' => ENCQUOTEDPRINTABLE,
ENCOTHER => 'unknown', 'unknown' => ENCOTHER
);
/**
* The MIME:: class provides methods for dealing with MIME standards.
*
* @author Chuck Hagenbuch <chuck@horde.org>
* @version $Revision: 1.64 $
* @since Horde 1.3
应用实例
(作者:陈俊清 2000年10月18日 11:58)
POP3收取邮件的类在前面的文章中已经给大家做了详细的介绍,下面我们来看看如何应用这个类:
<?
include("pop3.inc.php");
$host="pop.china.com";
$user="boss_ch";
$pass="026007";
$rec=new pop3($host,110,2);
if (!$rec->open()) die($rec->err_str);
echo "open ";
if (!$rec->login($user,$pass)) die($rec->err_str);
echo "login";
if (!$rec->stat()) die($rec->err_str);
echo "共有".$rec->messages."封信件,共".$rec->size."字节大小<br>";
if ($rec->messages>0)
{
if (!$rec->listmail()) die($rec->err_str);
echo "有以下信件:<br>";
for ($i=1;$i<=count($rec->mail_list);$i++)
{
echo "信件".$rec->mail_list[$i][num]."大小:".$rec->mail_list[$i][size]."<BR>";
}
$rec->getmail(1);
echo "邮件头的内容:<br>";
for ($i=0;$i<count($rec->head);$i++)
echo htmlspecialchars($rec->head[$i])."<br> ";
echo "邮件正文 :<BR>";
for ($i=0;$i<count($rec->body);$i++)
echo htmlspecialchars($rec->body[$i])."<br> ";
}
$rec->close();
?>
如果你把pop3类中的debug设为true的话,你还可以看到程序与pop3服务器是如何对话的,用于正在调试的程序来说,这样显得更为直观。
小结
从以上的这个实例我们可以看到PHP真的是网站开发的一个功能非常强大的工具,但是也可以感觉到,PHP做为一种混合形的语言,其面对对象的开发与其它的工具如java相比还存在不少让人遗憾的地方。这个pop类的实现也还有不少需要改进之处,欢迎各位同仁们指导。
如有想要取得完整的源代码的朋友,请与本人联系: boss_ch@netease.com
你是不是抱怨过,当你呆在一个朋友的房子或拜访亲戚时,想检查邮件但是不知道你的POP/IMAP设置。或者更糟的是,他们没有POP或IMAP软件?
基于Web的电子邮件似乎只是在最近才在网上被谈起。这里就是如何使用PHP来生成一个快速的,简单的和有效的IMAP或POP 邮件阅读器。一旦这个做好了,你现在就能够从世界的任何一个角落仅用一个浏览器来阅读你的邮件。
第一件必需知道的是确认你已经具有了一个可用的IMAP服务器。你可以从ftp://ftp.cac.washington.edu/imap得到UW IMAP服务软件和库函数(你将需要把这个库编译进PHP中,所以你可能也要安装同库在一起的IMAP服务软件)。
一旦你已经运行了IMAP服务器并且用IMAP支持编译过了PHP(确信你读过了PHP文档中关于如何编译支持IMAP的PHP),剩下的就很easy了!
我们将生成一个好用和简单的基于3个脚本的mail阅读程序。
第一个脚本将用来读取用在IMAP中的用户名及口令。我们将使用标准的PHP认证功能来做。
login.php3 包含:
--------------------------------------------------------------------------------
<?php
if (!$PHP_AUTH_USER) {
Header("WWW-authenticate: basic realm="Mail Chek"");
Header("HTTP/1.0 401 Unauthorized"); }
else {
$MYDIR=ereg_replace("/[^/]+$","",$PHP_SELF);
Header("Location: $SERVER_NAME$MYDIR/messages.php3"); }
?>
--------------------------------------------------------------------------------
它简单地读取你的用户名和口令并且重定向到邮件阅读页面。
messages.php3 包含:
--------------------------------------------------------------------------------
<?php
$MAILSERVER="{localhost/imap}";
$link=imap_open($MAILSERVER,$PHP_AUTH_USER,$PHP_AUTH_PW);
$headers=imap_headers($link);
for($x=1; $x < count($headers); $x++) { $idx=($x-1);
echo "<a href="view.php3?num=$x">$headers[$idx]</a><br>"; }
?>
--------------------------------------------------------------------------------
它打开一个IMAP连接到通过$MAILSERVER所指定的邮件服务器,传递你的用户名和口令。
上一篇: 用PHP实现POP3邮件的收取(一)
下一篇: 解码mime邮件的代码