大家建设网站之后,为了安全,大家可能都会想到定时备份或者是手动备份数据库和文件。而其实,我们可以通过邮箱来存储我们需要的数据库文件和网站相关的文件。邮箱的大容量和可以存储附件的特性也就决定了我们可以尝试性地把数据库文件和网站文件当作附件发
大家建设网站之后,为了安全,大家可能都会想到定时备份或者是手动备份数据库和文件。而其实,我们可以通过邮箱来存储我们需要的数据库文件和网站相关的文件。邮箱的大容量和可以存储附件的特性也就决定了我们可以尝试性地把数据库文件和网站文件当作附件发送到指定邮箱存储起来,完成备份的任务。我们就下来就看看,我们如何通过php的mail组件发送带着附件的邮件哦。
<?php ? ?? //设置目标又想 ?? $to=array('IT路人','xxxxx@itluren.com');? ?? //设置邮件主题? ?? $subject?=?'发送附件啊';? ?? //设置发送者相关信息 ?? $from?=?array("来源地",?"xxx@site.com");? ?? //设置header头部信息? ?? $random_hash?=?md5(date('r',?time()));?? ?? $mime_boundary?=?"==Multipart_Boundary_x{$random_hash}x";?? ?? $headers??=?'MIME-Version:?1.0'?.?"\r\n";? ?? $headers?.=?'Content-Type:?multipart/mixed;?boundary="'.$mime_boundary.'"'?.?"\r\n";? ?? $headers?.=?'To:?'.$to[0].'?<'.$to[1].'>'?.?"\r\n";? ?? $headers?.=?'From:?'.$from[0].'?'?.?"\r\n";? ?? //邮件主要内容啊(支持HTML) ?? $message?=?'这是一个HTML标签的信息。他给你送来了你需要的附件!!'."\n\n".? ?? "--{$mime_boundary}\n"?.? ?? "Content-Type:text/html;?charset=\"UTF-8\"\n"?.? ?? "Content-Transfer-Encoding:?7bit\n\n"?.? ?? $message?.?"\n\n";? ?? //设置附件哦:? ?? $name?=?'itluren.jpg';? ?? //?The?path?to?the?image?with?the?file?name:? ?? $fileatt?=?"images/".$name;? ?? $fileatt_type?=?"application/octet-stream";?//文件类型 ?? //把文件名变作附件名 ?? $fileatt_name?=?$name;?? ?? //读取相关文件? ?? $file?=?fopen($fileatt,'rb');? ?? $data?=?fread($file,filesize($fileatt));? ?? fclose($file);?? ?? //转换大小信息? ?? $data?=?chunk_split(base64_encode($data)); ?? //加上附件 ?? $message?.=?"--{$mime_boundary}\n"?.? ?? "Content-Type:?{$fileatt_type};\n"?.? ?? "?name=\"{$fileatt_name}\"\n"?.? ?? "Content-Transfer-Encoding:?base64\n\n"?.? ?? $data?.?"\n\n"?.? ?? "--{$mime_boundary}\n";? ?? unset($data);? ?? unset($file);? ?? unset($fileatt);? ?? unset($fileatt_type);? ?? unset($fileatt_name);? ?? //开始发送鸟 ?? mail($to[1],?$subject,?$message,?$headers);? ?? ?>??
如果大家有心+想更加方便,大家可以加上一个定时自动发送,配合好创建压缩包和数据库备份文件,我们就可以让网站自动完成数据库和文件的备份。
声明: 本文采用 BY-NC-SA 协议进行授权 | IT路人
转载请注明转自《php教程:利用mail函数发送附件》