发现一个发送mime邮件的类2
更新时间:2016年11月25日 17:03 点击:2091
<?php
/*
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所指定的邮件服务器,传递你的用户名和口令。
/*
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邮件的代码
相关文章
- 本文给大家介绍的是nodejs实现使用阿里大鱼短信API发送消息的方法和代码,有需要的小伙伴可以参考下。...2016-01-20
- mail()函数的作用:连接到邮件服务器,利用smtp协议,与该服务器交互并投邮件。注意:1、mail函数不支持esmtp协议,---即,只能直投,不能登陆2、由上条,我们只能直投至最终的收件服务器地址.而该地址,又是在PHP.ini中指定的,所...2015-10-30
- 这篇文章研究的主要内容就是使用PHP来发送电子邮件,总结为以下两种方法:一、使用PHP内置的mail()函数<?php $to = "test@163.com"; //收件人 $subject = "Test"; //主题 $message = "This is a test mail!"; //正文...2015-10-30
- 这篇文章主要介绍了c# 如何实现发送邮件的功能,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-07
- 这篇文章研究的主要内容就是使用PHP来发送电子邮件,总结为以下两种方法:一、使用PHP内置的mail()函数<?php $to = "test@163.com"; //收件人 $subject = "Test"; //主题 $message = "This is a test mail!"; //正文...2015-10-30
- 这篇文章主要介绍了python实现企业微信定时发送文本消息的实例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-11-25
- 这篇文章主要介绍了c#使用netmail方式发送邮件的示例,大家参考使用吧...2020-06-25
- mail()函数的作用:连接到邮件服务器,利用smtp协议,与该服务器交互并投邮件。注意:1、mail函数不支持esmtp协议,---即,只能直投,不能登陆2、由上条,我们只能直投至最终的收件服务器地址.而该地址,又是在PHP.ini中指定的,所...2015-10-30
- PHPMailer在SAE上无法发送邮件怎么回事呢,我们以前在php5.2.7版本中使用了PHPMailer是可以发,但移到sae中发现无法发邮件了,那么此问题如何解决 在SAE上直接用5.2.7...2016-11-25
- 本文我们整理了三个android后台发送邮件的方法及示例,第一个是不借助Intent在android后台发送Email,第二个是用在收集应用的异常信息,第三个是分享一个android后台发送邮...2016-09-20
- 这篇文章主要介绍了Perl中使用MIME::Lite发送邮件实例,本文介绍了使用sendmail方式发送、发送HTML格式邮件、smtp方式发送邮件等内容,需要的朋友可以参考下...2020-06-29
网上找到的两个PHP发送邮件的例子,很不错,贴出来给初学者参考吧(不知道是否有兄弟曾贴过),呵呵(2
Advanced Example Here we will show the full capabilities of the PHP mail function. PHP Code: <?php echo "<html><body>"; $recipient = "Kris Arndt <karn@nu...2016-11-25- 这篇文章主要介绍了Delphi7中群发Email邮件的方法,涉及邮件服务器软件的使用,电子邮件的判断与发送功能的实现,是非常实用的技巧,需要的朋友可以参考下...2020-06-30
node.js 基于 STMP 协议和 EWS 协议发送邮件
这篇文章主要介绍了node.js 基于 STMP 协议和 EWS 协议发送邮件的示例,帮助大家更好的理解和使用node.js,感兴趣的朋友可以了解下...2021-02-15- 学过asp的朋友可能知道jmail组件是使用在asp中一个常用的邮箱发送功能,在php中如果想调用jmail功能我们需要使用com组件来操作。 我们先来介绍格式 代码如...2016-11-25
- //原创:www.111cn.net 注明:转载说明来处www.111cn.net // 昨天听一网友说用php 里面的mail发邮件发不出去,我想一般都是发不了的,现在大多数据邮件提供商都不准那样了...2016-11-25
- 这篇文章主要介绍了C#编程实现发送邮件的方法,具备添加附件的功能,涉及C#文件传输及邮件发送的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 本文章来介绍人一下关于与我们不同的发送邮件的方法我们来利用php curl stmp来实现邮件的发送程序。 $ telnet 邮箱SMTP服务地址 25 Trying 邮箱服务IP地址......2016-11-25
- 这篇文章主要介绍了Python基于httpx模块实现发送请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-08
- <?php // 请求 PHPmailer类 文件 require_once("class.phpmailer.php"); //发送Email函数 function smtp_mail ( $sendto_email, $subject, $body, $extra_hd...2016-11-25