0

シェルで mail コマンドを使用して電子メールを送信します。

echo "abc" | mail -s "Subject" abc@def.com

このコマンドをpythonで使いたいので、以下のように書きます。

call("echo abc" "|" "mail", "-s Subject", "abc@def.com", shell=True)

次に、次のエラーが表示されます。

Original exception was:
Traceback (most recent call last):
  File "email.py", line 7, in <module>
    call("mail", "-s", "Subject", "abc@def.com", shell=True)
  File "/usr/lib/python2.7/subprocess.py", line 493, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 629, in __init__
    raise TypeError("bufsize must be an integer")
TypeError: bufsize must be an integer

これの理由は何ですか?

4

1 に答える 1

1

callこのようなメソッドを呼び出してみてください

call(["mail", "-s", "'Subject'", "abc@def.com"], shell=True)

パート2:

sudo touch /var/mail/<username>
sudo chown <username>:mail /var/mail/<username>
sudo chmod o-r /var/mail/<username>
sudo chmod g+rw /var/mail/<username>

ここから撮影

于 2013-04-13T15:43:22.563 に答える