1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
| <?php
/**
* @param $address mixed 收件人 多个收件人/或需要设置收件人昵称时为数组 array($address1,$address1)/array(array('address'=>$address1,'nickname'=>$nickname1),array('address'=>$address2,'nickname'=>$nickname2))
* @param $subject string 邮件主题
* @param $body string 邮件内容
* @param $file string 附件
* @return bool|string 发送成功返回true 反之返回报错信息
* @throws Exception
*/
function send_mail_by_smtp($address, $subject, $body, $file = '') { include "PHPMailer/Exception.php"; include "PHPMailer/PHPMailer.php"; include "PHPMailer/SMTP.php"; // date_default_timezone_set("Asia/Shanghai");//设定时区东八区 session_start(); //注意:$mail要用这种写法 $mail = new PHPMailer\PHPMailer\PHPMailer(); // $mail = new PHPMailer(); //Server settings
$mail->SMTPDebug = 2;
$mail->isSMTP(); // 使用SMTP方式发送
$mail->Host = 'smtpdm.aliyun.com'; // SMTP邮箱域名
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Username = "lthero@email.lthero.cn"; // 邮箱用户名(完整email地址)
$mail->Password = ""; // smtp授权码,非邮箱登录密码
$mail->Port = 80;
$mail->CharSet = "utf-8"; //设置字符集编码 "GB2312"
// 设置发件人信息,显示为 你看我那里像好人(xxxx@126.com)
$mail->setFrom($mail->Username, 'lthero');
//设置收件人 参数1为收件人邮箱 参数2为该收件人设置的昵称 添加多个收件人 多次调用即可
//$mail->addAddress('********@163.com', '你看我那里像好人');
if (is_array($address)) {
foreach ($address as $item) {
if (is_array($item)) {
$mail->addAddress($item['address'], $item['nickname']);
} else {
$mail->addAddress($item);
}
}
} else {
$mail->addAddress($address, 'adsf');
}
//设置回复人 参数1为回复人邮箱 参数2为该回复人设置的昵称
//$mail->addReplyTo('*****@126.com', 'Information');
if ($file !== '') $mail->AddAttachment($file); // 添加附件
$mail->isHTML(true); //邮件正文是否为html编码 true或false
$mail->Subject = $subject; //邮件主题
$mail->Body = $body; //邮件正文 若isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取的html文件
//$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; //附加信息,可以省略
return $mail->Send() ? '发送成功' : '发送错误';
}
function get_pic_path(){ $arr=scandir('./photos'); unset($arr[0],$arr[1]); $temp=$arr[array_rand($arr)]; echo $temp; }
//如果请求带有指定参数,才进行发送邮件 if(isset($_POST['reciever'])){ $ret = send_mail_by_smtp($_POST['reciever'], $_POST['title'], $_POST['content'], $path); }
?>
|