c++ cgi执行shell命令l发送qq邮件mailx
Posted cloud_computing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章
Linux下shell脚本PING命令只要延迟高于100ms就发送个邮件