2013年7月9日火曜日

Pythonで差し込みメール送信

やってみた。

mailsend.py

#!/usr/bin/env python
#coding: utf-8
import sys
import smtplib
from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import formatdate

argvs = sys.argv

if __name__ == "__main__":
  from_address = "送信元メールアドレス"
  to_address = unicode(argvs[1], "utf-8")
  cc_address = "送信先メールアドレス"
  to_name1 = unicode(argvs[2], "utf-8")
  to_name2 = unicode(argvs[3], "utf-8")
  atai1 = unicode(argvs[4], "utf-8")
  atai2 = unicode(argvs[5], "utf-8")
  charset = "ISO-2022-JP"

  subject = u"メール件名です。"
  text = to_name1 + u''' ''' + to_name2 + u''' 様

文章です。

改行も可能です。

''' + atai1 + u'''\t''' + atai2 + u'''

複数の差し込みも可能です。'''

  msg = MIMEText(text.encode(charset),"plain",charset)
  msg["Subject"] = Header(subject,charset)
  msg["From"] = from_address
  msg["To"] = to_address
  msg["Cc"] = cc_address
  msg["Date"] = formatdate(localtime=True)

  smtp = smtplib.SMTP("メールサーバアドレス")
  smtp.sendmail(from_address,[to_address,cc_address],msg.as_string())
  smtp.close()
こんな感じ。今回は、宛名を2つに分ける必要があったため、2つ付いているだけ。 途中の差し込みリストもさらに2つほど渡してやりたかった。

送信リスト

メールアドレス,名前1,名前2,値1,値2
メールアドレス,名前1,名前2,値1,値2
メールアドレス,名前1,名前2,値1,値2
・・・

コマンド実行

awk -F"," '{ print "./mailsend.py",$1,$2,$3,$4,$5 }' | /bin/bash
こんな感じ

0 件のコメント:

コメントを投稿

DNS named.root 更新確認スクリプト

#!/bin/bash # DNSのnamed.rootファイルの更新確認スクリプト # 最新版のnamed.rootファイルを取得し、差分を確認する。 # 更新履歴 # 2014.02.07 watari # お約束 export LANG=C ## 実行ディレクトリ #PR...