読者です 読者をやめる 読者になる 読者になる

SSH先でメール出す

SSHで接続してそこからmailコマンド使うとき,mailコマンドは文字コードをよしなにしてくれないので,UTF-8で送ると文字化けしてしまう. nkfが入っていれば良いのですが,入ってなかったのでスクリプト書きました.

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
import subprocess
if len(sys.argv) < 2:
    print "usage: python %s [address]" % sys.argv[0]
    sys.exit(1)

sub = raw_input().decode("utf-8").encode("iso-2022-jp")
p = subprocess.Popen(["mail", '-s', sub] + sys.argv[1:], stdin=subprocess.PIPE)
def readtext():
    try:
        while True:
            yield raw_input().decode("utf-8").encode("iso-2022-jp") + "\r\n"
    except EOFError:
        pass
p.stdin.writelines([line for line in readtext()])
p.stdin.close()