文章出处:https://blog.csdn.net/hello_sgw/article/details/81019952

1、邮件:PHPMailer

版本: 6.0v
1、下载好了之后直接引入src文件夹和重新根目录写一个文件email.php(该文件内容使用phpmailer下载解压后的README.md里面的example代码就行)
2、socket和openssl扩展要开启
3、去邮件方获取SMTP密码,例如qq、163

/**
 * 发送邮件
 */
public function sendMail()
{
    $mail = new PHPMailer(true); //  通过`true`启用例外
    try {
        //服务器设置
        $mail->SMTPDebug = 2; // 启用详细的调试输出[0:就没有email的调试信息]
        $mail->isSMTP(); // 设置邮件使用SMTP
        $mail->Host = 'smtp.qq.com'; // 指定主要和备份SMTP服务器
        $mail->SMTPAuth = true; // 启用SMTP验证
        $mail->Username = '999999999@qq.com'; //  SMTP用户名
        $mail->Password = '*********'; // SMTP密码(例如:qq邮箱获取的,具体方法百度一下,很简单)
        $mail->SMTPSecure = 'tls'; // 启用TLS加密,`ssl`也接受
        $mail->Port = 587; // TCP端口连接

        //收件人
        $mail->setFrom('999999999@qq.com', '习近平'); //设置发送人信息(参数1:发送人邮箱,参数2:发送人名称)
        $mail->addAddress('123456798@qq.com', '特朗普'); // 添加收件人
        // $mail->addAddress('ellen@example.com'); // 名称是可选的
        // $mail->addReplyTo('info@example.com', 'Information');
        // $mail->addCC('cc@example.com');
        // $mail->addBCC('bcc@example.com');

        //附件
        $mail->addAttachment('2.jpg'); // 添加附件
        // $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // 可选文件

        //Content
        $mail->isHTML(true); // 将电子邮件格式设置为HTML
        $mail->Subject  = '中美谈判'; //邮件主题,即标题
        $mail->Body     = '给我滚过来,敢加收我国的商品税?'; //邮件内容
        $mail->AltBody  = '中国是全球第一大消费市场,不怕你威胁'; //邮件附件信息,可以省略

        $mail->send();
        echo '信息已发送到白宫';
    } catch (Exception $e) {
        echo '信息发送失败. 失败原因: ', $mail->ErrorInfo;
    }
}

2、短信:submail

第一种:CURL发送短信

1、submail第三方API官网阅读相关开发文档。
2、封装好curl请求(本地php需要开启curl扩展)
3、本地需要下载ssl证书,要在本地加入ssl证书来验证我们的身份.

1、到 传送门: sll下载证书 =>下载 cacert.pem 文件 (https://curl.haxx.se/docs/caextract.html)

2、把下载的cacert.pem文件放到本地或服务器的一个固定文件下,然后再去php.ini文件下搜索curl,找到curl.cainfo=,把该代码前
的 #
去掉,并把刚才存放cacert.pem文件的绝对路径放到curl.cainfo=后面,例如:curl.cainfo="D:\ssl\cacert.pem",重启服务器
现在就可以使用封装好的函数了

/** * 发送短信: 使用submail第三方API
*/
public function sendMessage($phone, $msg)
{
$curl = curl_init();
$url = 'https://api.mysubmail.com/message/xsend'; //submail开发文档主URL
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);

    $data = [
        'appid'     => '',//获取
        'to'        => $phone,
        'project'   => '',//获取
        'vars'      => '{"msg":' . $msg . ',"time":"60"}',
        'signature' => '',//获取
    ];

    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    $res = curl_exec($curl);
    curl_close($curl);
    # 转成json
    $res = json_encode($res);
    return $res;
}
最后由 Leo 编辑于2018年08月24日 01:11