在php中从exec发送电子邮件
关于在pHP中将参数作为变量传递给exec中的mail命令,我没有什么问题 以下是有效的代码:在php中从exec发送电子邮件,php,email,Php,Email,关于在pHP中将参数作为变量传递给exec中的mail命令,我没有什么问题 以下是有效的代码: exec('echo "This is mail tesing" | /bin/mail -s "Testing" -a myresults.csv abc@mymail.com 2>&1', $output2 ); 我想做的是: 1) 将结果作为变量传递,例如,我在PHP中有另一个exec命令,用于执行返回结果输出文件名称的python脚本。此输出文件需要通过电子邮件发送。 2)
exec('echo "This is mail tesing" | /bin/mail -s "Testing" -a myresults.csv abc@mymail.com 2>&1', $output2 );
我想做的是:
1) 将结果作为变量传递,例如,我在PHP中有另一个exec命令,用于执行返回结果输出文件名称的python脚本。此输出文件需要通过电子邮件发送。
2) 用户通过网站输入他的电子邮件地址,所以我想在/bin/mail命令中传递该电子邮件地址
这不起作用:
exec('echo "Test mail using mail" | /bin/mail -s "Testing" -a results.csv $varEmail 2>&1', $output2 );
网页上显示的错误:
Send options without primary recipient specified. [1] => Usage: mail -eiIUdEFntBDNHRVv~ -T FILE -u USER -h hops -r address -s SUBJECT -a FILE -q FILE -f FILE -A ACCOUNT -b USERS -c USERS -S OPTION users )
回显电子邮件地址变量a.k.a echo$varEmail提供用户输入的电子邮件地址
我想,我不知道如何在这个命令中将参数作为变量传递。非常感谢您的帮助
谢谢,在您提供的行中,包含给exec的命令的字符串被简单的引号括起来。因此,该字符串中的php变量不会被替换。 您可以改为使用它(使用
将$varEmail
连接到字符串):
另一种解决方案是使用双引号,但随后必须转义shell命令的双引号:
exec("echo \"Test mail using mail\" | /bin/mail -s \"Testing\" -a results.csv $varEmail 2>&1", $output2 );
$varEmail
是bash还是php变量?如果是php,请使用“
s插入字符串/变量。非常感谢!您建议的第一个解决方案本身适用于电子邮件!现在,需要在邮件中尝试结果附件。
exec("echo \"Test mail using mail\" | /bin/mail -s \"Testing\" -a results.csv $varEmail 2>&1", $output2 );