PHP邮件发送类PHPMailer用法实例详解
本文实例讲述了PHP邮件发送类PHPMailer用法,并详细讲述了其具体的操作步骤。分享给大家供大家参考。具体步骤如下:
1.在服务器安装sendmail
sudoapt-getinstallsendmail
2.启动sendmail
sudo/etc/init.d/sendmailstart
3.修改php.ini
[mailfunction] SMTP=localhost smtp_port=25 sendmail_from=me@example.com
4.FunctionsendMail函数如下
<?php
/*调用PHPMailer发送电邮
*@paramString$receiver收件人
*@paramString$sender发件人
*@paramString$sender_name发件人名称如为空则用发件人地址代替
*@paramString$subject邮件主题
*@paramString$content邮件内容
*@paramboolean$ishtml是否html电邮
*@paramArray$attachements附件
*@returnboolean
*/
functionsendMail($receiver,$sender,$sender_name,$subject,$content,$ishtml=true,$attachments=array()){
include_once"class-phpmailer.php";
if(empty($receiver)||empty($sender)||empty($subject)||empty($content)){
returnfalse;
}
$mail=newPHPMailer();
//$mail->IsSMTP();//经smtp发送
//$mail->Host="smtp.gmail.com";//SMTP服务器
//$mail->Port=465;//SMTP端口
//$mail->SMTPSecure='ssl';//加密方式
//$mail->SMTPAuth=true;//打开SMTP认证
//$mail->Username="username";//用户名
//$mail->Password="password";//密码
$mail->IsMail();//usingPHPmail()function有可能會出現這封郵件可能不是由以下使用者所傳送的提示
$mail->From=$sender;//发信人
$mail->FromName=$sender_name;//发信人别名
$mail->AddReplyTo($sender);//回覆人
$mail->AddAddress($receiver);//收信人
//以html方式发送
if($ishtml){
$mail->IsHTML(true);
}
//发送附件
if($attachments){
if(is_array($attachments)){
$send_attachments=array();
$tmp_attachments=array_slice($attachments,0,1);
if(!is_array(array_pop($tmp_attachments))){
if(isset($attachments['path'])){
array_push($send_attachments,$attachments);
}else{
foreach($attachmentsas$attachment){
array_push($send_attachments,array('path'=>$attachment));
}
}
}else{
$send_attachments=$attachments;
}
foreach($send_attachmentsas$attachment){
$attachment['name']=isset($attachment['name'])?$attachment['name']:null;
$attachment['encoding']=isset($attachment['encoding'])?$attachment['encoding']:'base64';
$attachment['type']=isset($attachment['type'])?$attachment['type']:'application/octet-stream';
if(isset($attachment['path'])&&file_exists($attachment['path'])){
$mail->AddAttachment($attachment['path'],$attachment['name'],$attachment['encoding'],$attachment['type']);
}
}
}elseif(is_string($attachments)){
if(file_exists($attachments)){
$mail->AddAttachment($attachments);
}
}
}
$mail->Subject=$subject;//邮件标题
$mail->Body=$content;//邮件內容
return$mail->Send();
}
//DEMO示例如下:
$receiver='receiver@test.com';
$sender='sender@test.com';
$sender_name='sendername';
$subject='subjecct';
$content='content';
//四种格式都可以
$attachments='attachment1.jpg';
$attachments=array('path'=>'attachment1.jpg','name'=>'附件1.jpg');
$attachments=array('attachment1.jpg','attachment2.jpg','attachment3.jpg');
$attachments=array(
array('path'=>'attachment1.jpg','name'=>'附件1.jpg'),
array('path'=>'attachment2.jpg','name'=>'附件2.jpg'),
array('path'=>'attachment3.jpg','name'=>'附件3.jpg'),
);
$flag=sendMail($receiver,$sender,$sender_name,$subject,$content,true,$attachments);
echo$flag;
?>
源码点击此处本站下载。
希望本文所述对大家PHP程序设计的学习有所帮助。