所以我有一个Raspberry Pi设备,用于检查Gmail帐户,如果出现新邮件,它会通过节日大声朗读。
我通过粗略的'echo "' + str(message) + '" | festival --tts'
电话与Festival互动,其中message是收到的电子邮件的内容。
我猜测有人可能会在该消息中发送令人讨厌的内容并破坏计算机,我想知道是否有一种清理消息的好方法,并使整个过程更加安全。
我可以验证电子邮件地址,但即使在经过验证的电子邮件中,我也希望能够进行任何检查。
答案 0 :(得分:1)
您是否有必要使用shell来调用节日? 如果没有,只需保持在python中并使用lib(例如pyfestival),因为这可能更简单,并且您不会有人在邮件中注入shell代码的风险。
更新:正如你想通过一个单独的过程调用它,尝试使用类似的东西(虽然没有测试)
from subprocess import Popen, PIPE
p = Popen(['festival', '--tts'], stdin=PIPE)
p.communicate(input=message)
以上是该question的答案
的自定义版本