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;
}
posted @ 2022-06-10 16:52  王越666  阅读(35)  评论(0编辑  收藏  举报