我再来转载一篇 用EMAIL附件传送一个文件(用mail)

<?

/*
* Class mime_mail
* Original implementation by Sascha Schumann < sascha@schumann.cx >
* Modified by Tobias Ratschiller < tobias@dnet.it >:
* - General code clean-up
* - separate body- and from-property
* - killed some mostly un-necessary stuff
*/

class mime_mail
{
var $parts;
var $to;
var $from;
var $headers;
var $subject;
var $body;

/*
* void mime_mail()
* class constructor
*/
function mime_mail()
{
$this->parts = array();
$this->to = "";
$this->from = "";
$this->subject = "";
$this->body = "";
$this->headers = "";
}

/*
* void add_attachment(string message, [string name], [string ctype])
* Add an attachment to the mail object
*/
function add_attachment($message, $name = "", $ctype = "application/octet-stream")
{
$this->parts[] = array (
"ctype" => $ctype,
"message" => $message,
"encode" => $encode,
"name" => $name
);
}

/*
* void build_message(array part=
* Build message parts of an multipart mail
*/
function build_message($part)
{
$message = $part[ "message"];
$message = chunk_split(base64_encode($message));
$encoding = "base64";
return "Content-Type: ".$part[ "ctype"].
($part[ "name"]? "; name = \"".$part[ "name"]. "\"" : "").
"\nContent-Transfer-Encoding: $encoding\n\n$message\n";
}

/*
* void build_multipart()
* Build a multipart mail
*/
function build_multipart()
{
$boundary = "b".md5(uniqid(time()));
$multipart = "Content-Type: multipart/mixed; boundary = $boundary\n\nThis is a MIME
encoded message.\n\n--$boundary";

for($i = sizeof($this->parts)-1; $i >= 0; $i--)
{
$multipart .= "\n".$this->build_message($this->parts[$i]). "--$boundary";
}
return $multipart.= "--\n";
}

/*
* void send()
* Send the mail (last class-function to be called)
*/
function send()
{
$mime = "";
if (!empty($this->from))
$mime .= "From: ".$this->from. "\n";
if (!empty($this->headers))
$mime .= $this->headers. "\n";

if (!empty($this->body))
$this->add_attachment($this->body, "", "text/plain");
$mime .= "MIME-Version: 1.0\n".$this->build_multipart();
mail($this->to, $this->subject, "", $mime);
}
}; // end of class

/*
* Example usage
*

$attachment = fread(fopen("test.jpg", "r"), filesize("test.jpg"));

$mail = new mime_mail();
$mail->from = " foo@bar.com ";
$mail->headers = "Errors-To: foo@bar.com ";
$mail->to = " bar@foo.com ";
$mail->subject = "Testing...";
$mail->body = "This is just a test.";
$mail->add_attachment("$attachment", "test.jpg", "image/jpeg");
$mail->send();

*/
?>

时间: 2024-08-03 05:12:30

我再来转载一篇 用EMAIL附件传送一个文件(用mail)的相关文章

转载一篇仅就其中一段话来迁强说明人工智能在思维与潜意识之间的关联

转载一篇仅就其中一段话来迁强说明人工智能在思维与潜意识之间的关联 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. http://ryantang.me/blog/2013/12/07/ios-e

JXCELL实例学习与研究(二) 之 EXCEL中各种图表格式的显示 超链接(链接到另外的单元格、WEBSITE、E-MAIL、本地磁盘/文件)

import com.jxcell.ChartShape; import com.jxcell.RangeRef; import com.jxcell.View; public class CsvChartTest { public static void main(String args[]) { View m_view; try { m_view =new View(); m_view.read(".\\book.csv"); ChartShape chart = m_view.a

Java IDE 编辑器 --- IntelliJ IDEA 进阶篇 生成 hibernate 实体与映射文件

原文:转:Java IDE 编辑器 --- IntelliJ IDEA 进阶篇 生成 hibernate 实体与映射文件 2011-04-30 12:50         很多人不知道怎么用 IntelliJ IDEA 编辑器生成 Hibernate 实体映射文件,很多人认为 IDEA 不支持此功能,或者需要安装特定的插件才能完成该操作.实际上 IDEA 支持该功能也无需安装IntelliJ IDEA插件.          以下为 IntelliJ IDEA 编辑器生成 Hibernate 实

利用MailMessage及SmtpMail对象实现Email自动传送[原创]

[申明:必须自己试验才能看到效果!:)]ASP+中.想传送Email,须使用以上两个对象,其中Mailmessage用设定Email的内容.而Smtpmail则是将Email出去,程序框架如下:<%@import namespace="system.web.uit"%>dim mail as new mailmessage    '建立一个mailmessage对象mail.to=收件人mail.form=送件人mail.subject=主题mail.bodyformat=

部分E-mail附件为何无法显示文件名

  问:在Windows XP with SP2系统下,每次启动电脑后提示"Generic Host Process for Win32 Services Error",而且一部分E-mail的附件无法显示文件名了,请问如何解决? 答:这个是Windows XP with SP2安装了KB 873333 (MS05-012)更新补丁后出现的一个问题.目前已经出现了相关补丁KB 894391,请到微软网站下载并安装即可.

Email附件也可以用来转账

摘要: 在人们的印象里,Email的附件通常是用来添加文件或图片的.但是Google告诉我们,附件也可以用来转账. 在2013年5月举办的Google I/O大会上,Google曾推出一项功能,让美国的Gmail用户可以 在人们的印象里,Email的附件通常是用来添加文件或图片的.但是Google告诉我们,附件也可以用来转账. 在2013年5月举办的Google I/O大会上,Google曾推出一项功能,让美国的Gmail用户可以通过邮件的附件向好友转账或收款,即使对方没有Gmail账户也可以完

技术的背后是思想 (转载一篇好文)

技术的背后是思想 从一段不相干的故事开始. 13世纪,还是骁勇善战的蒙古骑兵手持马刀和弓箭横扫亚欧大陆的时间,那个时候,蒙古骑兵凭着灵活机动的战术,勇猛的冲锋,高超的战斗技巧,先后灭掉四十多个国家,建立起史上最庞大的帝国. 然后漫长的历史过去,朝代更迭,转眼间到了清朝末年. 1860年,第二次鸦片战争,在通州附近的八里桥,由清军统帅僧格林沁率领的精锐蒙古骑兵,面对不到己方三分之一的装备前膛燧发枪和滑膛炮的英法联军展开决战,奋勇冲锋,继而惨败收场,尸横遍野,而英法联军那边仅付出了死亡5人的代价.

【转载】Oracle数据恢复 - Linux / Unix 误删除的文件恢复

作者:eygle | English Version [转载时请以超链接形式标明文章出处和作者信息及本声明]链接:http://www.eygle.com/archives/2011/12/oracle_linux_rm_rf.html 前几天提到的一则误删除案例: http://www.eygle.com/archives/2011/12/oracle_lsof_recovery_database.html Kamus 写了一篇详细步骤,转载供参考: http://www.dbform.com

干货,一篇软文成就了一个新领域的“自明星”!

中介交易 SEO诊断 淘宝客 云主机 技术大厅 最近,我读了秦刚老师的<垂直自明星:下一个互联网金矿>,如获至宝,马上将我自媒体的定位.人群.工具.推广.盈利等进行了相应调整优化,取得了非常可喜的结果. 3721.html">2014年4月18日16时,我虎嗅网发表了第一篇文章<艺术品电商生力军及其致命软肋>,之后不到6个小时,站长之家.网易.99艺术网.金融界.中金在线等国内20多家大网站陆续进行了转载.截止今日至少有100家网站进行了转载.百度新闻上搜索&quo