test
新:
use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require_once __DIR__.'/../../../plugins/PHPMailer-6.1.7/src/Exception.php'; require_once __DIR__.'/../../../plugins/PHPMailer-6.1.7/src/PHPMailer.php'; require_once __DIR__.'/../../../plugins/PHPMailer-6.1.7/src/SMTP.php'; // $sql=$DB->prepare("SELECT wo_id,employee_id FROM wo_list_employee WHERE wo_id = :wo_id"); // $sql->bindvalue(':wo_id',$wo_id,PDO::PARAM_INT); // $sql->execute(); // $result = $sql->fetch(PDO::FETCH_ASSOC); // 1、实例化PDO $pdo = Flight::get('DB'); //根据$wo_id 获取工单名称 $stmt = $pdo->query('SELECT wo_id,wo_name FROM wo_list WHERE wo_id = 03780'); $result = $stmt->fetch(PDO::FETCH_ASSOC); // 返回索引数组 //工单名称 $work_order_name=$result['wo_name']; //执行查询 $stmt = $pdo->query('SELECT wo_id,employee_id FROM wo_list_employee WHERE wo_id = 03780'); $result = $stmt->fetch(PDO::FETCH_ASSOC); // 返回索引数组 //获取员工ID,去找邮箱 $employee_id = $result["employee_id"]; $employee_int_id=intval($employee_id); $stmt = $pdo->query("SELECT * FROM admin_employee WHERE employee_id = $employee_int_id"); $result1 = $stmt->fetch(PDO::FETCH_ASSOC); // 返回索引数组 // 获取邮箱,以及邮箱人的姓名 //获取要发送的邮箱 $send_email=$result1['employee_email']; //发送的员工名称 $send_email_name=$result1['employee_name']; // //根据employee_id 去查找员工表中的邮箱 // $sql=$DB->prepare("SELECT employee_name, employee_email FROM admin_employee WHERE employee_id = :employee_id"); // $sql->bindvalue(':employee_id',$employee_id,PDO::PARAM_INT); // // $res = $pdo->prepare($sql);//准备查询语句 // $sql->execute(); // $admin_employe_result = $sql->fetch(PDO::FETCH_ASSOC); // //获取要发送的邮箱 // $send_email=$admin_employe_result['employee_email']; $mail = new PHPMailer; // 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式, //使用smtp鉴权方式发送邮件 $mail->isSMTP(); //smtp需要鉴权 这个必须是true $mail->SMTPAuth = true; // qq 邮箱的 smtp服务器地址,这里当然也可以写其他的 smtp服务器地址 $mail->Host = 'smtp.qq.com'; //smtp登录的账号 这里填入字符串格式的qq号即可() $mail->Username = '910624858@qq.com'; // 这个就是之前得到的授权码,一共16位 $mail->Password = 'syqyafshccsabbhh'; //设置使用ssl加密方式登录鉴权 $mail->SMTPSecure = 'ssl'; // //设置ssl连接smtp服务器的远程服务器端口号,可选465或587 $mail->Port = 465; //设置smtp的helo消息头 这个可有可无 内容任意 $mail->CharSet = 'UTF-8'; $mail->setFrom('910624858@qq.com', 'yanbing'); // $to 为收件人的邮箱地址,如果想一次性发送向多个邮箱地址,则只需要将下面这个方法多次调用即可 //$mail->addAddress($send_email); $mail->addAddress('yanbing910624858@163.com','testyanbiing'); //邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false $mail->isHTML(true); // 该邮件的主题 $title="EAMic工单提醒: {工单号 工单名称}"; $mail->Subject = $title; // 该邮件的正文内容 $content=" <h4>{$send_email_name}先生/女士,您好!</h4> <h4>您有新的工单 $wo_id : $work_order_name, 请登录EAMic®查看。</h4> <h4>点击 <a>https://ctwuxeamic.atlascopco.com/ </a>可查看详情</h4> <h4>祝您开心每一天!</h4> <h4>领值团队</h4> "; $mail->Body = $content; // 使用 send() 方法发送邮件 if(!$mail->send()) { return 'Mailer Error: ' . $mail->ErrorInfo; } else { return "发送成功"; }
旧:
<?php //接受参数工单号 //echo $wo_id; //die; //$test_wo_id=04526; //根据工单号获取要发送的员工邮箱 $pdo = new PDO("mysql:host=localhost;dbname=mic12345", 'root', 'matrix11'); $sql = "select * from wo_list_employee where wo_id = 04526"; $res = $pdo->prepare($sql);//准备查询语句 $res->execute(); $result = $res->fetch(PDO::FETCH_ASSOC); $employee_id = $result["employee_id"]; //根据employee_id 去查找员工表中的邮箱 $sql = "select * from admin_employee where employee_id = $employee_id"; $res = $pdo->prepare($sql);//准备查询语句 $res->execute(); $admin_employe_result = $res->fetch(PDO::FETCH_ASSOC); //进行发送邮件的操作 require_once ("plugins/PHPMailer-6.1.7/"); $mail=new \PHPMailer\PHPMailer\PHPMailer(); print_r($mail); die; print_r($admin_employe_result); die; //$obj=$pdo->prepare($sql); //$obj->execute(); //$obj->bindParam(1,$test_wo_id); //$res=$pdo->exec($sql); var_dump($res);
<?php 
	use PHPMailer\PHPMailer\PHPMailer;
	use PHPMailer\PHPMailer\Exception;
	require_once __DIR__.'/../../../plugins/PHPMailer-6.1.7/src/Exception.php';
	require_once __DIR__.'/../../../plugins/PHPMailer-6.1.7/src/PHPMailer.php';
	require_once __DIR__.'/../../../plugins/PHPMailer-6.1.7/src/SMTP.php';
//接受参数工单号
//echo $wo_id;
//die;
//$test_wo_id=04526;
//根据工单号获取要发送的员工邮箱
// $wf = $DB->prepare("SELECT {$column}
// FROM admin_workflow_valid
// WHERE valid_id = :valid_id;");
// $wf->bindvalue(':valid_id', $valid_id, PDO::PARAM_INT);
// if (!$wf->execute()) {
// Flight::error(
// new Exception(implode(' ', array_slice($wf->errorInfo(), 2)))
// );
// }
$sql=$DB->prepare("SELECT wo_id from wo_list_employee WHERE wo_id = :wo_id");
$sql->bindvalue(':wo_id',$wo_id,PDO::PARAM_INT)
// $res = $pdo->prepare($sql);//准备查询语句
$res->execute();
$result = $res->fetch(PDO::FETCH_ASSOC);
$employee_id = $result["employee_id"];
//根据employee_id 去查找员工表中的邮箱
$sql=$DB->prepare("SELECT employee_name, employee_email,from admin_employee WHERE employee_id = :employee_id");
$sql->bindvalue(':employee_id',$employee_id,PDO::PARAM_INT)
// $res = $pdo->prepare($sql);//准备查询语句
$res->execute();
$admin_employe_result = $res->fetch(PDO::FETCH_ASSOC);
//进行发送邮件的操作
$mail = new PHPMailer;
// 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式,
// 可选择的值有 1 、 2 、 3
// $mail->SMTPDebug = 2;     
//使用smtp鉴权方式发送邮件
$mail->isSMTP();                                      
//smtp需要鉴权 这个必须是true
$mail->SMTPAuth = true;                               
// qq 邮箱的 smtp服务器地址,这里当然也可以写其他的 smtp服务器地址
$mail->Host = 'smtp.qq.com';
//smtp登录的账号 这里填入字符串格式的qq号即可
$mail->Username = 'eamic@server.com';                 
// 这个就是之前得到的授权码,一共16位
$mail->Password = 'password';     
//设置使用ssl加密方式登录鉴权                      
$mail->SMTPSecure = 'ssl';                            
// //设置ssl连接smtp服务器的远程服务器端口号,可选465或587
$mail->Port = 465;
//设置smtp的helo消息头 这个可有可无 内容任意
// $mail->Helo = 'Hello smtp.qq.com Server';
//设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名
// $mail->Hostname = 'http://www.lsgogroup.com';
//设置发送的邮件的编码 也可选 GB2312
$mail->CharSet = 'UTF-8';                        
$mail->setFrom('1182xxxxx@qq.com', '林深时见禄');
// $to 为收件人的邮箱地址,如果想一次性发送向多个邮箱地址,则只需要将下面这个方法多次调用即可
$mail->addAddress($to);
//邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
$mail->isHTML(true);
// 该邮件的主题
$title="EAMic工单提醒: {工单号 工单名称}";
$mail->Subject = $title;
// 该邮件的正文内容
$content="
  <h4>{员工名字}先生/女士,您好!</h4>
  <h4>您有新的工单 {工单号 工单名称}, 请登录EAMic®查看。</h4>
  <h4>点击 <a>https://ctwuxeamic.atlascopco.com/ </a>可查看详情</h4>
  <h4>祝您开心每一天!</h4>
  <h4>领值团队</h4>
        ";
$mail->Body = $content;
//同样该方法可以多次调用 上传多个附件
// $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');
// 使用 send() 方法发送邮件
if(!$mail->send()) {
  return 'Mailer Error: ' . $mail->ErrorInfo;
} else {
  return "发送成功";
}
pdo:
<?php /** * Bing * 邮件发送 */ use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require_once __DIR__ . '/../../../plugins/PHPMailer-6.1.7/src/Exception.php'; require_once __DIR__ . '/../../../plugins/PHPMailer-6.1.7/src/PHPMailer.php'; require_once __DIR__ . '/../../../plugins/PHPMailer-6.1.7/src/SMTP.php'; //根据$wo_id获取工单名称和专业编码 $sql = $DB->prepare("SELECT wo_id,wo_name FROM wo_list WHERE wo_id = :wo_id"); $sql->bindvalue(':wo_id', $wo_id, PDO::PARAM_INT); $sql->execute(); $result = $sql->fetch(PDO::FETCH_ASSOC); //工单名称 $work_order_name = $result['wo_name']; //专业编码id: $discipline_code = $result['wo_speciality_id']; //根据专业编码ID获取专业 $sql = $DB->prepare("SELECT speciality_id,speciality_code FROM mic_speciality WHERE speciality_id = :discipline_code"); $sql->bindvalue(':discipline_code', $discipline_code, PDO::PARAM_INT); $sql->execute(); $result = $sql->fetch(PDO::FETCH_ASSOC); //获取专业,other发送,其他不发送邮件 $speciality_code = $result['speciality_code']; if ($speciality_code == 'OTHER') { //根据wo_id 获取员工ID $sql = $DB->prepare("SELECT wo_id,employee_id FROM wo_list_employee WHERE wo_id = :wo_id"); $sql->bindv alue(':wo_id', $wo_id, PDO::PARAM_INT); $sql->execute(); $result = $sql->fetch(PDO::FETCH_ASSOC); //获取员工ID,去找邮箱 $employee_id = $result["employee_id"]; $employee_int_id = intval($employee_id); //根据员工ID获取员工的信息 $stmt = $DB->prepare("SELECT employee_id,employee_name,employee_email FROM admin_employee WHERE employee_id = :employee_int_id"); $stmt->bindvalue(':employee_int_id', $employee_int_id, PDO::PARAM_INT); $stmt->execute(); $result = $sql->fetch(PDO::FETCH_ASSOC); // 获取邮箱,以及邮箱人的姓名 $send_email = $result['employee_email']; //发送的员工名称 $send_email_name = $result['employee_name']; $mail = new PHPMailer; // 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式, //使用smtp鉴权方式发送邮件 $mail->isSMTP(); //smtp需要鉴权 这个必须是true $mail->SMTPAuth = true; // qq 邮箱的 smtp服务器地址,这里当然也可以写其他的 smtp服务器地址 $mail->Host = 'smtp.qq.com'; //smtp登录的账号 这里填入字符串格式的qq号即可() $mail->Username = '910624858@qq.com'; // 这个就是之前得到的授权码,一共16位 $mail->Password = 'syqyafshccsabbhh'; //设置使用ssl加密方式登录鉴权 $mail->SMTPSecure = 'ssl'; // //设置ssl连接smtp服务器的远程服务器端口号,可选465或587 $mail->Port = 465; //设置smtp的helo消息头 这个可有可无 内容任意 $mail->CharSet = 'UTF-8'; $mail->setFrom('910624858@qq.com', 'yanbing'); // $to 为收件人的邮箱地址,如果想一次性发送向多个邮箱地址,则只需要将下面这个方法多次调用即可 $mail->addAddress($send_email, $send_email_name); //邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false $mail->isHTML(true); // 该邮件的主题 $title = "EAMic工单提醒: {工单号 工单名称}"; $mail->Subject = $title; // 该邮件的正文内容 $content = " <h4>{$send_email_name}先生/女士,您好!</h4> <h4>您有新的工单 $wo_id : $work_order_name, 请登录EAMic®查看。</h4> <h4>点击 <a>https://ctwuxeamic.atlascopco.com/ </a>可查看详情</h4> <h4>祝您开心每一天!</h4> <h4>领值团队</h4> "; $mail->Body = $content; // 使用 send() 方法发送邮件 if (!$mail->send()) { return 'Mailer Error: ' . $mail->ErrorInfo; } else { return "发送成功"; } } else { return false; }
领值:
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require_once __DIR__ . '/../../../plugins/PHPMailer-6.1.7/src/Exception.php'; require_once __DIR__ . '/../../../plugins/PHPMailer-6.1.7/src/PHPMailer.php'; require_once __DIR__ . '/../../../plugins/PHPMailer-6.1.7/src/SMTP.php'; require_once __DIR__ . '/../../../functions/_email_send.php'; $wo_id='03780'; $wo_id=intval($wo_id); //根据$wo_id获取工单名称和专业编码 $sql = $DB->prepare("SELECT wo_id,wo_name,wo_speciality_id FROM wo_list WHERE wo_id = :wo_id"); $sql->bindvalue(':wo_id', $wo_id, PDO::PARAM_INT); $sql->execute(); $result = $sql->fetch(PDO::FETCH_ASSOC); //工单名称 $work_order_name = $result['wo_name']; //专业编码id: $discipline_code = $result['wo_speciality_id']; //根据专业编码ID获取专业 $sql = $DB->prepare("SELECT speciality_id,speciality_code FROM mic_speciality WHERE speciality_id = :discipline_code"); $sql->bindvalue(':discipline_code', $discipline_code, PDO::PARAM_INT); $sql->execute(); $result = $sql->fetch(PDO::FETCH_ASSOC); //获取专业,other发送,其他不发送邮件 //$speciality_code = $result['speciality_code']; $speciality_code='OTHER'; if ($speciality_code === 'OTHER') { //根据wo_id 获取员工ID $sql = $DB->prepare("SELECT wo_id,employee_id FROM wo_list_employee WHERE wo_id = :wo_id"); $sql->bindvalue(':wo_id', $wo_id, PDO::PARAM_INT); $sql->execute(); $result = $sql->fetch(PDO::FETCH_ASSOC); //获取员工ID,去找邮箱 $employee_id = $result["employee_id"]; $employee_int_id = intval($employee_id); //根据员工ID获取员工的信息 $stmt = $DB->prepare("SELECT employee_id,employee_name,employee_email FROM admin_employee WHERE employee_id = :employee_int_id"); $stmt->bindvalue(':employee_int_id', $employee_int_id); $stmt->execute(); $result = $stmt->fetch(PDO::FETCH_ASSOC); // 获取邮箱,以及邮箱人的姓名 $send_email = $result['employee_email']; //发送的员工名称 $send_email_name = $result['employee_name']; //邮件主题 $mail_subject = 'EAMic工单提醒:' . $wo_id . $work_order_name; // 该邮件的正文内容 $content = " <h4>{$send_email_name}先生/女士,您好!</h4> <h4>您有新的工单 $wo_id : $work_order_name, 请登录EAMic®查看。</h4> <h4>点击 <a>https://ctwuxeamic.atlascopco.com/ </a>可查看详情</h4> <h4>祝您开心每一天!</h4> <h4>领值团队</h4> "; $result = send_email('yanbing910624858@163.com', $mail_subject, $content, $content); var_dump($result); die; if (!$result) { return 456; } else { return 123; } } else { echo 3; die; }
                    
                
                
            
        
浙公网安备 33010602011771号