界线后的行告诉邮件程序现在的部分是一个HTML文件,它的名字是"attachment.html"。
Content-disposition这持告诉邮件程序如果可能就以内嵌的方式显示附件。现在新的邮件程序会在消息后显示HTML的内容。如果Content- disposition被设为attachment,那么邮件程序就不会显示HTML文件的内容,而是显示一个连接到文件的图标(或其它的类似的东西)。收件人要看附件的内容,必须点击这个图标。一般情况下,如果附件是一些文本(包含HTML),Content-disposition会被设为inline,这是因为现在大部分邮件程序能够不借助其它浏览器而直接显示附件(文本)的内容。如果附件不是文本(比如图片或其它类似的内容),Content-disposition 就设为attachment。 我们仿照上面的例子,自己写一个php程序,可以对提交的 收信人,发送人,信件内容,附件进行处理。 首先建立一个静态页面,代码如下: <html> <body> <form method=post name=sndml action=sendmail.php ENCTYPE="multipart/form-data"> <table> <tr ><td>发送者:</td> <td><input type=text name=from ></td> </tr> <tr ><td>接受者:</td> <td><input type=text name=to ></td> </tr> <tr ><td>下载提示:</td> <td><input type=text name=text ></td> </tr> <tr ><td>源数据文件:</td> <td><input type=file name=upload_file size=40></td> </tr> <tr><td> </td> <td><input type="submit" value="确定"> </td> </tr> </table> </form> </body> </html> 要注意的是 : 表单里 ENCTYPE="multipart/form-data" 一定要有。 再来看一下 发送邮件的php程序: <?php //文本内容 $text =
用php发送带附件的Email - 凌众科技
快速业务通道
用php发送带附件的Email
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
POST[''text'']; //标题 $subject =
用php发送带附件的Email - 凌众科技
快速业务通道
用php发送带附件的Email
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
POST[''subject'']; //发送者 $from =
用php发送带附件的Email - 凌众科技
快速业务通道
用php发送带附件的Email
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
POST[''from'']; //接受者 $to =
用php发送带附件的Email - 凌众科技
快速业务通道
用php发送带附件的Email
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
POST[''to'']; //附件 $file =
用php发送带附件的Email - 凌众科技
快速业务通道
用php发送带附件的Email
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
FILES[''upload_file''][''tmp_name'']; // 定义分界线 $boundary = uniqid( ""); $headers = "Content-type: multipart/mixed; boundary= $boundary\r\n"; $headers .= "From:$from\r\n"; //确定上传文件的MIME类型 if(
用php发送带附件的Email - 凌众科技
快速业务通道
用php发送带附件的Email
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
FILES[''upload_file''][''type'']) $mimeType =
用php发送带附件的Email - 凌众科技
快速业务通道
用php发送带附件的Email
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
FILES[''upload_file''][''type'']; else $mimeType ="application/unknown"; //文件名 $fileName =
用php发送带附件的Email - 凌众科技
快速业务通道
用php发送带附件的Email
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
FILES[''upload_file''][''name''];
// 打开文件 $fp = fopen($file, "r"); // 把整个文件读入一个变量 $read = fread($fp, filesize($file)); //我们用base64方法把它编码 $read = base64_encode($read); //把这个长字符串切成由每行76个字符组成的小块 $read = chunk_split($read); //现在我们可以建立邮件的主体 $body = "--$boundary Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 8bit $text --$boundary Content-type: $mimeType; name=$fileName Content-disposition: attachment; filename=$fileName Content-transfer-encoding: base64 $read --$boundary--"; //发送邮件 if(mail($to, $subject,$body,$headers)) print "OK! the mail $from --- $to has been send<br>"; else print "fail to send mail <br>"; ?> 看不明白没关系,我来说明一下: 1,邮件头的构造 :一般包括 内容类型(Content-type)要发送附件,设置为 multipart/mixed 意思是多个部分 (邮件本身+附件)。 boundary ,就是上面提到的分界线,他的 |