海运的博客

php使用qq域名邮箱smtp发送邮件

发布时间:February 20, 2018 // 分类: // No Comments

<?php
ini_set('date.timezone','Asia/Shanghai');
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
$mail = new PHPMailer();
$mail->SMTPDebug = 1;
$mail->isSMTP();
$mail->SMTPAuth=true;
$mail->Host = 'smtp.qq.com';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->Helo = 'Hello smtp.qq.com Server';
$mail->Hostname = 'haiyun.me';
$mail->CharSet = 'UTF-8';
$mail->Username ='admin@haiyun.me';
$mail->Password = 'password';
$mail->FromName = 'fromuser';
$mail->From = 'admin@haiyun.me';
$mail->isHTML(true); 
$mail->addAddress('touser@haiyun.me','touser');
$mail->Subject = "这是标题";
$mail->Body = "这是内容";
$status = $mail->send();
if($status) {
  echo '发送邮件成功'."\n";
}else{
  echo '发送邮件失败,错误信息:'.$mail->ErrorInfo."\n";
}

PHP CURL HTTPS内存泄露

发布时间:February 20, 2018 // 分类: // No Comments

用php curl写个程序采集Https网站长时间运行后内存占用很大,使用memory_get_usage()查看内存不变,用ps或top查看占用内存持续增长,经分析是php curl的问题,禁用php curl ssl校验即可:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 

dnspod php api ddns

发布时间:February 18, 2018 // 分类: // No Comments

<?php
ini_set('date.timezone','Asia/Shanghai');
if (isset($_REQUEST['id']) && !empty($_REQUEST['id'])) {
  $ip = $_SERVER['REMOTE_ADDR'];
  $name =  $_REQUEST['id'];
  $token = "abdeafaaaa";
  $value = getid($name, $token);
  if ($value) {
    list($id, $old_ip) = explode('--', $value);
    if ($old_ip && $old_ip != $ip) {
      modip($ip, $id, $name, $token);
    } else {
      echo $old_ip.PHP_EOL;
    }
  }
}

function modip($ip, $id, $name, $token) {
  $url = "https://dnsapi.cn/Record.Modify";
  $post_data = "login_token={$token}&format=json&domain=haiyun.me&record_id={$id}&value={$ip}&record_type=A&record_line_id=0&sub_domain={$name}";
  $data = post($url, $post_data);
  $data = json_decode($data, 1);
  //var_dump($data);
  if ($data['status']['code'] == 1) {
    echo "Action completed successful".PHP_EOL;
  } else {
    echo $data['status']['message'].PHP_EOL;
  }
}

function getid($name, $token) {
  $url = "https://dnsapi.cn/Record.List";
  $post_data = "login_token={$token}&format=json&domain=haiyun.me";
  $data = post($url, $post_data);    
  $data = json_decode($data, 1);  
  foreach ($data["records"] as $value) {
    if ($value['name'] == $name) {
      return $value['id'].'--'.$value['value'];
    }
  }
  return "";
}

function post($url, $post_data) {
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_TIMEOUT, 5);
  curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0');
  curl_setopt($ch,CURLOPT_POST, 1);
  curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}
?>

设置windows安装软件或修改系统文件需输入密码

发布时间:February 10, 2018 // 分类: // No Comments

2018-02-10_203805.png

ROS DNAT

发布时间:February 10, 2018 // 分类: // No Comments

/ip firewall nat \
add action=dst-nat chain=dstnat dst-port=22 in-interface=pppoe-out1 \
    protocol=tcp to-addresses=192.168.1.1 to-ports=22
/ip firewall filter \
add action=accept chain=forward dst-address=192.168.1.1 dst-port=22 \
    in-interface=pppoe-out1 protocol=tcp
分类
最新文章
最近回复
  • 404NTF: 交叉编译的作用是?
  • 404NTF: 请教一下 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go ...
  • 小智: 安利个PHP开发以太坊区块链的教程: http://xc.hubwiz.com/course/...
  • 陈浩南: 您好,您教程中的 dev.openwrt.org.cn 现在似乎不可用了。请问现在应该在哪里下...
  • 斑马斑马: 怎么查看虚拟机CPU 内存使用情况
  • zzg: http://downloads.openwrt.org.cn/PandoraBox/rali...
  • xiongrui: 看图
  • 傻狍子: filebrowser好像和这功能一样? https://github.com/filebro...
  • 陶国文: 想看看能不能安装
  • 傻狍子: 服务端设置了用户名密码认证的话,在openwrt的openvpn客户端的配置文件当中该如何更改...
页面执行耗时:0.0295秒。-->