python - ssmtp 无法通过电子邮件发送从 python 子进程收到的我的 bash 变量
问题描述
我在 python 脚本中使用 subprocess 将变量发送到旨在发送电子邮件的 bash 脚本中。
我的python代码:
import re
import subprocess
message="https://example.com/"
subprocess.run(["./send_email.bash",message])
我的“./send_email.bash”脚本:
#!/bin/bash
body=$1
echo "$body" | ssmtp example@gmail.com
它一直发送一封空白电子邮件。但是,如果我使用不是来自子进程的字符串,则电子邮件包含它。可能有更好的方法来做到这一点,但我的帖子的重点是理解为什么这不起作用。令我困惑的是,从子进程发送的变量可能会附加到文件中。但是,循环或“if”表达式无法识别它。等等
谢谢!
解决方案
我应该更具体。我的 python 代码中的“消息”是一个电子邮件地址:“ https://example.com/ ”。看来,当我从字符串中删除“https://”时,它工作得非常好!
推荐阅读
- angular - 是否有 ie9 的 Mdl 网格替代方案?[角4]
- imagemagick - 如何使用 imagemagick 设置从 psd pdf 转换的分辨率
- recursion - 如何找到递归方程(对于这个伪代码)?
- python - 如何访问列表列表中的每个字符串
- javascript - 在 autonumeric.js 中实现逗号和小数
- java - Eclipse 2018-09 不会编译 Java 11 源代码;认为低于1.7
- javascript - 从 jupyter notebook 中的抽象类写入 javascript 控制台
- javascript - 单击单选按钮时,显示文本输入控件,尝试输入文本会关闭应用程序
- vb.net - 将属性值获取到字符串 vb.net
- java - 使用 lambdas 提取包含在 ArrayList 中的 Object 属性