ノーティフィケーションHow-To
コメントやトラックバック追加時にお知らせメールを送る方法について
以下の方法を使うと,コメントやトラックバック追加時にお知らせメールを受け取ることができます。
なお,Zopeから日本語のメールを送るためには,こちらのリンクなどを参考にしてください。
MailHostの追加と準備
- Zopeの管理画面から,Mail Hostオブジェクトを追加します
- 管理画面のCOREBlogインスタンス上 contentsタブをクリックします
- methodsフォルダに移動します
フック関数の追加 (コメント追加時にお知らせメールを送る)
コメントが追加された時にお知らせメールを送信するためには,methodsフォルダ内にaddCommentHookという名前のPythonScriptを追加します。また,Proxy rolesを設定する必要があります。
PythonScriptのパラメータはdのみです。
本文は以下のようにしてください。メールアドレスなどは変更して利用してください。
try:
mailhost=getattr(context, \
context.superValues('Mail Host')[0].id)
except:
raise AttributeError, "Mail Host object cant be found."
to_addr = "your@email.address"
from_addr = "sender@email.address"
mMsg = """To: %s
From: %s
Mime-Version: 1.0
Content-Type: text/plain;
Author :%s
Title :%s
URL :%s
EntryID :%s
Body :
%s""" % (to_addr , from_addr , d["author"] , d["title"] ,\
d["url"] , str(d["parent_id"]) , d["body"])
mTo = to_addr
mFrom = from_addr
mSubj = 'A comment added!'
mailhost.send(mMsg, mTo, mFrom, mSubj)
トラックバックが追加された時にお知らせメールを送信するためには,methodsフォルダ内にaddTrackbackHookという名前のPythonScriptを追加します。また,Proxy rolesを設定する必要があります。
PythonScriptのパラメータはdのみです。
本文は以下のようにしてください。メールアドレスなどは変更して利用してください。
try:
mailhost=getattr(context, \
context.superValues('Mail Host')[0].id)
except:
raise AttributeError, "cant find a Mail Host object"
to_addr = "your@email.address"
from_addr = "sender@email.address"
mMsg = """To: %s
From: %s
Mime-Version: 1.0
Content-Type: text/plain;
Title :%s
URL :%s
BlogName :%s
Body :
%s""" % (to_addr,from_addr,d["title"],d["url"],\
d["blog_name"],d["excerpt"])
mTo = to_addr
mFrom = from_addr
mSubj = 'Trackback added!!'
mailhost.send(mMsg, mTo, mFrom, mSubj)