Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ssmtp无法通过电子邮件发送从python子流程收到的my bash变量_Python_Bash_Subprocess_Ssmtp - Fatal编程技术网

ssmtp无法通过电子邮件发送从python子流程收到的my bash变量

ssmtp无法通过电子邮件发送从python子流程收到的my bash变量,python,bash,subprocess,ssmtp,Python,Bash,Subprocess,Ssmtp,我使用python脚本中的子流程将变量发送到bash脚本中,该脚本用于发送电子邮件 我的python代码: import re import subprocess message="https://example.com/" subprocess.run(["./send_email.bash",message]) #!/bin/bash body=$1 echo "$body" | ssmtp example@gmail.com 我的“/send\u email.bash”脚本: impo

我使用python脚本中的子流程将变量发送到bash脚本中,该脚本用于发送电子邮件

我的python代码:

import re
import subprocess
message="https://example.com/"
subprocess.run(["./send_email.bash",message])
#!/bin/bash
body=$1
echo "$body" | ssmtp example@gmail.com
我的“/send\u email.bash”脚本:

import re
import subprocess
message="https://example.com/"
subprocess.run(["./send_email.bash",message])
#!/bin/bash
body=$1
echo "$body" | ssmtp example@gmail.com
它一直发送一封空白电子邮件。但是,如果我使用的字符串不是来自子流程,则电子邮件中会包含该字符串。也许有更好的方法可以做到这一点,但我的帖子的重点是要理解为什么这不起作用。让我困惑的是,从子流程发送的变量可能会附加到文件中。但是,循环或“if”表达式无法识别它。等等


谢谢大家!

为什么不直接运行
ssmtp
并将邮件送入其
stdin
?或者只是使用
stmp
模块来做
ssmtp
所做的事情?我做了,它可以工作。但我很想知道为什么这不起作用。谢谢我应该说得更具体些。python代码中的“消息”是一个电子邮件地址:“”。似乎当我从字符串中删除“https://”时,它工作得非常好!