(ヽ´ω`) < Moinmoinのメール設定
(ヽ´ω`) < メールって何かに使うの?
Moinmoinではパスワードが忘れた場合にリセットをすることが可能だが、よくあるパターンで、登録した登録時に入力したメールアドレス宛にリセット用のURLとトークンを送る形になっている。
ということは、当然メール送信のための設定が必要となる。
(ヽ´ω`) < どうやってやるの?
wikiconfig.py
のMail
セクションで設定を行う。
HowTo/AdvancedEmailSetup - MoinMoin
公式ドキュメントではサーバ内部のsendmailコマンドを指定して送る方法が説明されているが、wikiconfig.py
内部にはSMTPサーバを設定するようにコメントが書かれている。
今回はSMTPサーバを指定する方法を解説する。(SMTPサーバにlocalhostを指定すれば、実質的にsendmailコマンドを指定するのと同じようなものだが、より細かいオプションを指定できる)
(ヽ´ω`) < 設定するパラメータは2+1
wikiconfig.py
で指定するパラメータは以下の2つ(と必要に応じて+1つ)
mail_smarthost
- SMTPサーバmail_from
- Moinmoinから送信するメールのFrom欄の値mail_login
- SMTPサーバがSMTP AUTHが必要な場合はユーザ名とパスワードを半角スペース区切り出来術
ポートとTLSの設定は自動的に検出してくれるっぽい。
追記
と思ったら、ポートは25番でハードコーディングしてあるような感じ。
## /usr/lib/python2.6/site-packages/MoinMoin/mail/sendmail.py Moinmoin-1.9.7 try: logging.debug("trying to send mail (smtp) via smtp server '%s'" % cfg.mail_smarthost) host, port = (cfg.mail_smarthost + ':25').split(':')[:2] server = smtplib.SMTP(host, int(port))
/usr/lib/python2.6/site-packages/MoinMoin/mail/sendmail.py
を見る限りだと、25番ポート決め打ち。465番接続でのSMTPSはサポートしておらず、25番接続からのSTARTTLSコマンドでの暗号化のみサポートっぽい。
465番は既に無効になっているからわかるとして、サブミッションが使えないってのはちょっと…
やっぱりローカルでSMTPサーバ立てて、そこでリレー設定しろって感じなんですかね(ヽ'ω`)
追記ここまで
例えばSo-netのSMTPサーバを使用する場合は以下のとおりとなる
mail_smarthost = "mail.so-net.ne.jp" mail_from = "Tsugihagi Moinmoin <tsugihagi@hogehoge.com>” mail_login = "tsugihagi-dummy@aa.so-net.ne.jp myDummyPassword"
So-netではSMTP AUTHとTLSが必須だが、上記設定のみで問題なく送信が出来た。
Moinmoinを設置したサーバでSMTPサーバが稼働しているなら、以下のとおり
mail_smarthost = "localhost" mail_from = "Tsugihagi Moinmoin <tsugihagi@hogehoge.com>”
(ヽ´ω`) < 忘れずに
wikiconfig.py
を変更した後は、Apacheの再起動を忘れずに。