c++ cgi执行shell命令l发送qq邮件mailx
#include <cstdlib> //随机数
#include <iostream>
#include <cstdio> //popen函数调用的需要
#include <string>
#include <sstream> //用于整型转字符串
using namespace std;
int main(){ cout << "Content-type:text/html\n\n";
srand(time(0));
int rand=(random()%(99999 - 10000 +1)) + 10000;
stringstream str_r;
str_r << rand;
string str_rand=str_r.str(); //随机数 string a="echo 'Dear users, your verification code is "+str_rand+" , this verification code is valid in 10 minutes. Thank you for using ' | mail -s 'bin of web' 1926804226@qq.com";
//cout<<a;
// FILE *fp=popen(a.c_str(),"r");
// if(!fp) return 1;
// pclose(fp);
cout<<system(a.c_str()); //返回0 为成功
return 0;
}
g++ -o text.cgi text.cpp
mail 命令不是root命令,非root也可以调用
由于我的证书在root下,apache没有权限访问(/root 其他用户没有读的权限)
所以可以将证书移到apache权限目录或者重新生成证书,修改/etc/mail.rc 文件的证书路径,不用重启如何服务,即可成功
权限,yyds
参考:
linux mailx 发送邮件到qq邮箱:https://www.cnblogs.com/CloudComputing-binbin/p/14761645.html
c++ 执行shell命令:https://blog.csdn.net/u012234115/article/details/89215980
linux 非root用户mailx发送邮件:https://www.cnblogs.com/hydd/p/14338536.html
c++ cgi执行shell命令l发送qq邮件mailx的更多相关文章
- python之commands和subprocess入门介绍(可执行shell命令的模块)
一.commands模块 1.介绍 当我们使用Python进行编码的时候,但是又想运行一些shell命令,去创建文件夹.移动文件等等操作时,我们可以使用一些Python库去执行shell命令. com ...
- vim中执行shell命令
1):!command 不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如 :!ls -l 特别的可以运行:!bas ...
- subprocess模块还提供了很多方便的方法来使得执行 shell 命令
现在你可以看到它正常地处理了转义. 注意 实际上你也可以在shell=False那里直接使用一个单独的字符串作为参数, 但是它必须是命令程序本身,这种做法和在一个列表中定义一个args没什么区别.而如 ...
- vim中执行shell命令小结
vim中执行shell命令,有以下几种形式 1):!command 不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如:!ls -l ...
- python(6)-执行shell命令
可以执行shell命令的相关模块和函数有: os.system os.spawn* os.popen* --废弃 popen2.* --废弃 commands.* ...
- loadrunner调用plink,远程linux执行shell命令
loadrunner调用plink,远程linux执行shell命令 脚本: Action() { char* cmd; cmd = lr_eval_string("C:\\\&qu ...
- C++/Php/Python 语言执行shell命令
编程中经常需要在程序中使用shell命令来简化程序,这里记录一下. 1. C++ 执行shell命令 #include <iostream> #include <string> ...
- python中执行shell命令行read结果
+++++++++++++++++++++++++++++ python执行shell命令1 os.system 可以返回运行shell命令状态,同时会在终端输出运行结果 例如 ipython中运行如 ...
- subprocess使用,进入到某个目录下执行shell命令
subprocess是用来fork一个子进程的.这个子进程可以运行一个外部程序. 函数: subprocess.call() subprocess.check_output() subprocess. ...
随机推荐
- javaObject—toString方法
1 package face_object; 2 /* 3 * Object:所有类的根类. 4 * Object是不断抽取而来的,具备所有对象都具备的共性内容. 5 * 常用的共性功能: 6 * 7 ...
- 简单socket服务器编程
package socket; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; ...
- while...break 实例
// 输出1-100内前5个可以被3整除的数 public class Demo { public static void main(String[] args) { int num = 0; for ...
- pycharm下载安装教程
简介: 首先,PyCharm操作简便,拥有一般IDE具备强大的功能,既适合新手,也可以满足开发人员的专业开发需求,接下来介绍一下如何下载和安装pycharm. ### 一:Pycharm下载 1.首先 ...
- Python PyQt5 | Hi音乐 v3.0.0 正式版发布
Hi音乐 两大平台全音乐搜索.收听与下载的简洁网络音乐播放器 中文介绍 | English Description 源码:Gitee 码云 简介 Hi音乐 是基于 Python 开发的简洁网络音乐播放 ...
- 斯坦福 CS183 & YC 创业课系列中文笔记
欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 724187166 ApacheCN 学习资源 目录 Zero to One 从0到1 ...
- vue组件中使用watch响应数据
在vue中,使用watch来响应数据的变化.watch的用法大致有三种.下面代码是watch的一种简单的用法: 普通用法: <template> //视图 <input v-mode ...
- JVM学习十五 - (复习)类加载的时机、类加载过程、类加载器
一.类加载的时机 类的生命周期 类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括以下 7 个阶段: 加载 验证 准备 解析 初始化 使用 卸载 验证.准备.解析 3 个阶段统称为连接 ...
- Android下数据库操作——增删改查
Android下数据库第一种方式增删改查 1.创建一个帮助类的对象,调用getReadableDatabase方法,返回一个SqliteDatebase对象 2.使用SqliteDat ...
- Kubernetes实战之部署ELK Stack收集平台日志
主要内容 1 ELK概念 2 K8S需要收集哪些日志 3 ELK Stack日志方案 4 容器中的日志怎么收集 5 K8S平台中应用日志收集 准备环境 一套正常运行的k8s集群,kubeadm安装部署 ...