社区
基础编程
帖子详情
请问怎么用mail()发送多个附件?
ykb
2004-10-15 04:47:36
请问怎么用mail()发送多个附件?
谢谢了
...全文
144
2
打赏
收藏
请问怎么用mail()发送多个附件?
请问怎么用mail()发送多个附件? 谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
episome
2004-10-15
打赏
举报
回复
<?
/* Mailer
** author: episome <webmaster(at)3ants.org>
** website: http://3ants.org
**/
class mailer{
var $mail = array();
function mailer(){
$this->mail['boundary'] = '===' . md5(uniqid('')) . '===';
$this->mail['content_type'] = 'text/plain';
$this->mail['attaches'] = '';
$this->mail['sender'] = 'none';
$this->mail['from'] = 'not@set.cliz';
}
function addAttaches($attaches,$attacheContent=null){
if(is_null($attacheContent)){
if(is_string($attaches)){
$attaches = explode(',',$attaches);
}
foreach ($attaches as $attache){
if(!is_file($attache)){
continue;
}
$attacheContent = join('',file($attache));
$this->_addAttacheContent($attache,$attacheContent);
}
}else{
$this->_addAttacheContent($attaches,$attacheContent);
}
}
function _addAttacheContent($attache,$attacheContent){
$this->mail['attaches'] .= "--" . $this->mail['boundary'] . "\n";
$this->mail['attaches'] .= "Content-Type: application/octet-stream; name=\"" . basename($attache) . "\"\nContent-Transfer-Encoding: BASE64\nContent-Disposition: attachment; filename=\"" . basename($attache) . "\"\n";
$this->mail['attaches'] .= "\n" . chunk_split(base64_encode($attacheContent)) . "\n\n";
}
function setFrom($email,$name='none'){
$this->mail['from'] = $email;
$this->mail['sender'] = $name;
}
function addTo($email){
if(is_string($email)){
$email = explode(',',$email);
}
foreach ($email as $id=>$mail){
if(!$this->_isMail($mail)){
unset($email[$id]);
}
}
$this->mail['to'] = array_merge($this->mail['to'],$email);
}
function setContent($content,$content_type='text/plain'){
$this->mail['content'] = $content;
$this->mail['content_type'] = $content_type=='text/html'?'text/html':'text/plain';
}
function setSubject($subject){
$this->mail['subject'] = $subject;
}
function send(){
$this->mail['headers'] = "Content-Type: ". $this->mail['content_type']."\n";
$this->mail['headers'] .= "\n" . $this->mail['content'] . "\n\n";
if($this->mail['attaches']!=''){
$this->mail['headers'] = "Mime-Version: 1.0\nContent-Type: multipart/mixed; boundary=\"".$this->mail['boundary']."\"\n\nThis is a multi-part message in MIME format.\n\n"
. "--" . $this->mail['boundary'] . "\n"
. $this->mail['headers']
. $this->mail['attaches']
. "--" . $this->mail['boundary'] . "--\n";
}
$this->mail['headers'] = "From: ".$this->mail['sender']." <".$this->mail['from'].">\n"
//."Cc: birthdayarchive@example.com\r\n"
//."Bcc: birthdaycheck@example.com\r\n"
.$this->mail['headers'];
return @mail(@join(',',$this->mail['to']), $this->mail['subject'],' ',$this->mail['headers']);
}
function _isMail($mail){
return preg_match("/^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,4}$/", $mail);
}
function clear(){
unset($this->mail);
}
}
screend
2004-10-15
打赏
举报
回复
这个可不是一句话,就能讲完的,总之首先创建一个分割符,用来区分文本,以及附件,然后就是发送了,具体的楼主可以到网上查一查smtp协议,或者找一个支持多个附件的php smtp信件发送类看看
回顾使用PHP原生
发送
电子邮件(一)
本文向从未创建过
发送
电子邮件网站的读者介绍了如何使用PHP
发送
电子邮件。首先,你需要在php.ini文件中配置SMTP或send
mail
_from等设置。然后,通过PHP的
mail
()函数,你可以轻松
发送
纯文本邮件,只需一行代码。文章还讨论了如何处理错误和向
多个
收件人
发送
邮件。更进一步,你可以
发送
HTML邮件和带有
附件
的邮件,增强了邮件的功能。
Java
Mail
发送
邮件(带
多个
附件
)
本文介绍了如何使用Java
Mail
API
发送
带有
多个
附件
的邮件,包括登录验证、邮件构建、邮件
发送
的步骤以及常见问题和解决方法。重点讲述了带
附件
邮件与不带
附件
邮件在实现上的区别,并给出了测试示例。
flask-
mail
发送
带
附件
的邮件
本文介绍如何使用Flask-
Mail
在Python Flask应用中配置并
发送
邮件。通过配置SMTP服务器,如QQ邮箱,实现邮件
发送
功能。文章提供了详细的代码示例,包括邮件正文、
附件
的添加及错误处理。
javax.
mail
发送
邮件(带
附件
)
本文档提供了一个使用javax.
mail
库在Java中
发送
带有
附件
的电子邮件的简单示例。首先,需要下载javax.
mail
的jar包,然后配置发件人、收件人、密码等信息,并指定
附件
。
JODD
mail
发送
带
附件
的邮件
本文介绍了使用Java进行邮件
发送
及
附件
处理的方法,通过E
mail
Info类传递邮件信息,利用jodd.
mail
库实现邮件的
发送
功能,包括单个
附件
的添加过程。
基础编程
21,889
社区成员
140,337
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章