php实现邮件发送并带有附件

 这篇文章主要介绍了php发送邮件的示例,并可以发送带附件的邮件,大家参考使用吧 

emailclass.php
 代码如下:
<? 
class CMailFile {
 
var $subject; 
var $addr_to; 
var $text_body; 
var $text_encoded; 
var $mime_headers; 
var $mime_boundary = "--==================_846811060==_"; 
var $smtp_headers;
 
function CMailFile($subject,$to,$from,$msg,$filename,$downfilename,$mimetype = "application/octet-stream",$mime_filename = false) { 
$this->subject = $subject; 
$this->addr_to = $to; 
$this->smtp_headers = $this->write_smtpheaders($from); 
$this->text_body = $this->write_body($msg); 
$this->text_encoded = $this->attach_file($filename,$downfilename,$mimetype,$mime_filename); 
$this->mime_headers = $this->write_mimeheaders($filename, $mime_filename); 
}
 
function attach_file($filename,$downfilename,$mimetype,$mime_filename) { 
$encoded = $this->encode_file($filename); 
if ($mime_filename) $filename = $mime_filename; 
$out = "--" . $this->mime_boundary . "n"; 
$out = $out . "Content-type: " . $mimetype . "; name="$filename";n"; 
$out = $out . "Content-Transfer-Encoding: base64n"; 
$out = $out . "Content-disposition: attachment; filename="$downfilename"nn"; 
$out = $out . $encoded . "n"; 
$out = $out . "--" . $this->mime_boundary . "--" . "n"; 
return $out; 
}
 
function encode_file($sourcefile) { 
if (is_readable($sourcefile)) { 
$fd = fopen($sourcefile, "r"); 
$contents = fread($fd, filesize($sourcefile)); 
$encoded = chunk_split(base64_encode($contents)); 
fclose($fd); 

return $encoded; 
}
 
function sendfile() { 
$headers = $this->smtp_headers . $this->mime_headers; 
$message = $this->text_body . $this->text_encoded; 
mail($this->addr_to,$this->subject,$message,$headers); 
} www.jbxue.com
 
function write_body($msgtext) { 
$out = "--" . $this->mime_boundary . "n"; 
$out = $out . "Content-Type: text/plain; charset="us-ascii"nn"; 
$out = $out . $msgtext . "n"; 
return $out; 
}
 
function write_mimeheaders($filename, $mime_filename) { 
if ($mime_filename) $filename = $mime_filename; 
$out = "MIME-version: 1.0n"; 
$out = $out . "Content-type: multipart/mixed; "; 
$out = $out . "boundary="$this->mime_boundary"n"; 
$out = $out . "Content-transfer-encoding: 7BITn"; 
$out = $out . "X-attachments: $filename;nn"; 
return $out; 
}
 
function write_smtpheaders($addr_from) { 
$out = "From: $addr_fromn"; 
$out = $out . "Reply-To: $addr_fromn"; 
$out = $out . "X-Mailer: PHP3n"; 
$out = $out . "X-Sender: $addr_fromn"; 
return $out; 

}
 
/*用法 - 例如:mimetype 为 "image/gif" 
$mailfile = new CMailFile($subject,$sendto,$replyto,$message,$filename,$mimetype); 
$mailfile->sendfile();
 
$subject -- 主题 
$sendto -- 收信人地址 
$replyto -- 回复地址 
$message -- 信件内容 
$filename -- 附件文件名 
$downfilename -- 下載的文件名 
$mimetype -- mime类型 
*/ 
?>
 
 
 
演示示例
 
代码如下:
<?php 
require_once('emailclass.php');
 
//发送邮件
 
//主題 
$subject = "test send email";
 
//收件人 
$sendto = 'abc@163.com';
 
//發件人 
$replyto = 'cdf@163.com';
 
//內容 www.jbxue.com
$message = "test send email content";
 
//附件 
$filename = 'test.jpg';
 
//附件類別 
$mimetype = "image/jpeg";
 
$mailfile = new CMailFile($subject,$sendto,$replyto,$message,$filename,$excelname,$mimetype); 
$mailfile->sendfile(); 
?>
 

时间: 2024-09-29 16:38:55

php实现邮件发送并带有附件的相关文章

php实现邮件发送并带有附件_php实例

emailclass.php 复制代码 代码如下: <? class CMailFile { var $subject; var $addr_to; var $text_body; var $text_encoded; var $mime_headers; var $mime_boundary = "--==================_846811060==_"; var $smtp_headers; function CMailFile($subject,$to,$fro

如何使用 Cdosys.dll 库使用 Visual C# 中发送电子邮件带有附件接收邮件

 如何使用 Cdosys.dll 库一封新邮件中嵌入一条消息,使用 Visual C# 本文描述如何在新邮件中嵌入邮件的 Windows 2000 库 (Cdosys.dll) 中使用 Microsoft 协作数据对象 (CDO). 可以使用 Microsoft Visual C# 执行此操作. 请注意 Cdosys.dll 库也称为是 CDOSYS. 若要用于新邮件中嵌入邮件 CDOSYS 请按照下列步骤操作:    1. 启动 Microsoft Visual Studio.NET 或 Mi

java 邮件发送与带附件的实现方法

java 邮件发送与带附件的实现方法 java邮件发送也一样,可以实现传入的参数有port地址.密码.姓名.谁发.发给谁.主题.正文内容.smtp地址.发送类型 等功能. 方法一 简单的JavaMail邮件发送 dev.firnow.com    时间 : 2009-04-05  作者:匿名   编辑:sky 点击:  683 [ 评论 ] - -   import javax.mail.*; import java.util.*; import javax.mail.internet.*;  

asp.net 邮件发送类(带附件)

asp教程.net 邮件发送类(带附件) using system; using system.collections.generic; using system.text; using system.net; using system.net.mail; using system.net.mime; namespace windowsformsapplication1 {     class sendmail     {         private mailmessage mailmess

深入Lumisoft.NET实现邮件发送功能的方法详解_实用技巧

在前面的一些文章中,有介绍过DotNet内置SMTP类的邮件发送功能,附件.嵌入图片的模式都有介绍,本文继续介绍Lumisoft.NET这个非常优秀的开源组件,用该组件来设计开发邮件工具,将变得更加方便,功能更加强大.网上很多文章基本介绍如何使用该组件来收取邮件较多,较少介绍使用该组件做邮件发送功能的.本文主要探寻使用该组件实现邮件的发送功能,邮件发送有两种方式,一种是不用发件人即可发送邮件,一种是使用发件人账户密码和SMTP服务器来实现邮件发送的,本文分别对这两种方式进行介绍. 组件下载地址:

基于Lumisoft.NET实现的邮件发送功能

在前面的一些文章中,有介绍过DotNet内置SMTP类的邮件发送功能,附件.嵌入图片的模式都有介绍,本文继续介绍Lumisoft.NET这个非常优秀的开源组件,用该组件来设计开发邮件工具,将变得更加方便,功能更加强大.网上很多文章基本介绍如何使用该组件来收取邮件较多,较少介绍使用该组件做邮件发送功能的.本文主要探寻使用该组件实现邮件的发送功能,邮件发送有两种方式,一种是不用发件人即可发送邮件,一种是使用发件人账户密码和SMTP服务器来实现邮件发送的,本文分别对这两种方式进行介绍. 组件下载地址:

利用php中mail函数发送带有附件的邮件

mail函数,发送邮件 语法: mail(to,subject,message,headers,parameters) to 规定邮件的接收者 subject 规定邮件的主题.该参数不能包含任何换行字符 message 规定要发送的消息 headers 规定额外的报头,比如 From, Cc 以及 Bcc parameters 规定 sendmail 程序的额外参数. 碰到的主要问题是乱码问题,刚开始是某些客户端接收邮件时好(比如QQ邮箱,估计带自动那个识别编码)的有些不foxmail.ipad

用JavaMail API编写可带附件的邮件发送程序

程序 利用Sun公司提供的JavaMail API可以很方便的开发邮件发送程序.也许你已经可以利用它来发送一段简单的文本了,但想不想使你的程序像OUTLOOK一样也能发送附件呢?本文在简单介绍了JavaMail之后,详细讲解了一段完整的送信的JavaBean及一个十分轻巧的servlet. (没有装载JavaMail API的读者,可以到此站点下载,并按照Readme.txt设置好ClassPath) 一.JavaMail中一些我们需要的类 1.Properties JavaMail需要Prop

C#-MailSender邮件发送组件源代码(支持ESMTP, 附件)

smtp|源代码 //============================================================ // File: MailSender.cs // 邮件发送组件 // 支持ESMTP, 多附件 //============================================================ namespace JcPersonal.Utility { using System;: using System.Collect