首页
新闻
UniX技术
数据库
经验交流
PHP
Linux考试认证
首页
>
PHP
用PHP发送有附件的电子邮件
时间:2009-05-13 05:00:09 作者:chinaitlab
我要投稿
Linux初探欢迎您的投稿,投放方法请点击
这里
查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
我经常听到这样一个问题:"我有一个从网站发来的合同。我如何给通过表单发送的电子邮件增加一个附件呢?"首先我要说的是要做到这个没有什么简单的办法。你要很好的理......
我经常听到这样一个问题:"我有一个从网站发来的合同。我如何给通过表单发送的电子邮件增加一个附件呢?"
首先我要说的是要做到这个没有什么简单的办法。你要很好的理解PHP或其它的服务器端的脚本语言。当然你还要一个真正支持PHP的网站的账号。如果满足了这个前提,在你读完了本章后就可以用PHP发送带附件的电子邮件了。
1. 附件是如何工作的
如果你曾经在PHP的手册中搜索过"附件"函数,那么结果可能是什么都没有(至少在我写本文的时间还没有)。后来你就要花很多时间来了解这方面的知识。
你也许会想当你给某个人发送一封带附件的电子邮件时,附件是和邮件一起放到收件人的信箱里的(比如,如果你给他/她发了一个PNG的图片文件,他/她的信箱里会包含一个txt文件(电子邮件)和一个.png文件(附件))。但这不是它的工作原理。当你加入一个附件时,你的邮件程序把附件转换成纯文本文件,并在你写的内容(实际的电子邮件)后面插入这个文本块。这个,当你把所有的东西发出来后,收件人的信箱里只有一个纯文本文件--一个同时包含附件和实际电子邮件内容的文件。
下面是一个带附件(一个HTML文件)电子邮件的例子。我已经标注了其中重要的几行:
Return-Path: <someone@example.com>
Date: Mon, 22 May 2000 19:17:29 0000
From: Someone <someone@example.com>
To: Person <person@eksempel.dk>
Message-id: <83729KI93LI9214@example.com>
Content-type: multipart/mixed; boundary="396d983d6b89a"
Subject: Here's the subject
--396d983d6b89a
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 8bit
This is the body of the email.
--396d983d6b89a
Content-type: text/html; name=attachment.html
Content-disposition: inline; filename=attachment.html
Content-transfer-encoding: 8bit
<html>
<head>
<title>The attachment</title>
</head>
<body>
<h2>This is the attached HTML file</h2>
</body>
</html>
--396d983d6b89a--
前面的7行是邮件的头,其中值得注意的是Content-type头部分。这个头告诉邮件程序电子邮件是由一个以上的部分组成的。不含附件的邮件只有一个部分:消息本身。带附件的电子通常至少由两部分组成:消息和附件。这样,带两个附件的邮件由三部分组成:消息,第一个附件和第二个附件。
1
/
4
1
2
3
4
下一页
尾页
如果您需转载 用PHP发送有附件的电子邮件,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
返回首页
发表评论
共有
条评论
用户名:
密码:
验证码:
匿名发表
相关文章
新手必读:RHCE课堂实验笔记(4)
单元五实验 文件访问权限 估计用时:30分钟 目标:熟悉多个修改文件
BBS(php
//此页面为php3.php
<?
include "signup/mysql.inc";
switch($part)
sql server和oracle 数据类型
数据类型 类型 描述 bit 整型 bit 数据类型是整型,其值只能是0、1或空值。
在Windows2000ADV下配置Apache PHP5 MySql5
以前为了图方便,是用套件包.版本很久了,是apache1.X.Mysql4.X,PHP4.X的.
ORACLE正则解决初使化数据格式不一致
在初使化用户基础数据时会出现一些数据格式不正确的情况。。如: 2000-1-1=
ISNULL() VS COALESCE()
ISNULL() VS COALESCE() http://code.msdn.microsoft.com/SQLExamples/Wi
SQL SERVER 查询正在实行的SQL语句
使用工具:查询分析器具体操作:根据master.dbo.sysprocesses中的spid和block
merge的魅力——update 语句效率的优化
--创建更新目的表:DROP TABLE test_xie;CREATETABLE test_xie(member_id
oracle10g-OEM登录设置
dbconsole不使用tnsnames.ora的配置,要解决这个问题,可以用以下方法: 1、em
PHP安全概述
什么是安全?安全是一种相对的度量,而不是绝对的标准。不幸的是多数软件项目
关于SQLSERVER的max degree of parallelism
max degree of parallelism说明:http://msdn.microsoft.com/zh-cn/library
在Fedora Core里启动VMware Workstation一(
VMware是著名的虚拟机工具,目前的最新版本是VMware Workstation 4.0.5
VMware安装Redhat不能输入密码问题解决
在vmware中安装redhat9,到输入root口令那一步时,密码输入框不能输入密码。
VMware虚拟机中鼠标中键无法使用的问题
在VMware中安装了ubuntu,可是发现鼠标中键不能使用,对于这点当然不能接受
Oracle高水位线详解
什么是水线(High Water Mark)? ---------------------------- 所有的orac
Using TRY/CATCH to Resolve a Deadlock in
Using TRY/CATCH to Resolve a Deadlock in SQL Server 2005By : Brad Mc
栏目热门
PHP程序为什么"不适用"大型系统的9大原因
PHP守护Linux/Unix进程
PHP的PDO类教程
file_get_contents和curl函数用法
Win2000 Apache MySql PHP4 PERL安装使用小
站内搜索:
Linux
高级搜索
Powered by
Linux初探
© 1999-2009
RSS