7.12 アドレス帳を利用してメールマガジンを作る
P.685
<dt class="sidetitle">メールマガジンを購読</dt>
<dd class="side">
<form method="post" action="<mt:CGIPath />mt-add-notify.cgi">
<fieldset>
<input type="hidden" name="blog_id" value="<mt:blogID />" />
<input type="hidden" name="_redirect" value="<mt:blogURL />" />
<input name="email" size="20" />
<input type="submit" value="購読する" />
</fieldset>
</form>
</dd>
P.687
新しい<$MTEntryClassLabel$>「<$MTEntryTitle$>」を<$MTBlogName$>で公開しました。
<mt:if name="object_type" eq="entry">表示する<mt:else>表示する</mt:if> <<mt:setvarblock name="entry_status"><$MTEntryStatus$></mt:setvarblock><mt:if name="entry_status" eq="Publish"><$MTEntryPermalink$><mt:else><mt:var name="entry_editurl"></mt:if>>
------------------------------------------------------------------------
タイトル: <$MTEntryTitle$>
日付: <$MTEntryDate mail="1"$>
<mt:if name="send_excerpt">
<$MTEntryExcerpt wrap_text="72"$>
</mt:if>
------------------------------------------------------------------------
<mt:if name="message">メッセージ:
<mt:var name="message"></mt:if>
<mt:if name="send_body">
------------------------------------------------------------------------
<$MTEntryBody remove_html="1" wrap_text="72"$>
------------------------------------------------------------------------</mt:if>
このメールは<$MTBlogName$>で新規に作成されたコンテンツに関する通知を送るように設定されているか、またはコンテンツの著者が選択したユーザーに送信されています。このメールを受信したくない場合は、次のユーザーに連絡してください:
<$MTAuthorDisplayName$> <<$MTAuthorEmail$>>
P.689
<mt:setVars>
title=<mt:blogName encode_html="1" />: メールマガジンの購読解除
index_template=1
page_layout=layout-three-column
</mt:setVars>
<mt:include module="ヘッダー" />
<div id="contents" class="clearfix">
<div id="main">
<p class="content-header">メールマガジンの購読解除</p>
<div class="content">
<p>メールマガジンの購読を解除するには、次のフォームにメールアドレスを入力して「購読を解除」をクリックしてください。012:</p>
<form method="post" action="<mt:CGIPath />mt-add-notify.cgi">
<fieldset>
<input type="hidden" name="__mode" value="unsubscribe" />
<input name="email" size="40" />
<input type="submit" value="購読を解除する" />
</fieldset>
</form>
</div>
</div>
<div id="sub1">
<mt:include module="サイドバー左" />
</div>
<div id="sub2">
<mt:include module="サイドバー右" />
</div>
</div>
<mt:include module="フッター" />
P.691 NotifyList.pm(変更後)
...前略...
sub unsubscribe {
my $app = shift;
my $q = $app->{query};
my $blog_id = $q->param('blog_id');
my $email = $q->param('email');
unless ($blog_id && $email) {
print $q->header;
print "Missing required parameters\n";
exit;
}
require MT::Notification;
my $niter = MT::Notification->load_iter({blog_id => $blog_id});
while (my $n = $niter->()) {
if ($n->email eq $email) {
$n->remove();
return $app->translate("The address [_1] has been unsubscribed.", $email) . "\n\n";
}
}
return $app->translate("The address [_1] was not subscribed.", $email) . "\n\n"
}
...後略...
P.692
...前略...
<form method="post" action="<mt:CGIPath />mt-add-notify.cgi">
<fieldset>
<input type="hidden" name="__mode" value="unsubscribe" />
<input type="hidden" name="blog_id" value="<mt:blogID />" />
<input name="email" size="40" />
<input type="submit" value="購読を解除する" />
</fieldset>
</form>
...後略...