Nucleus CMS のメール送信プラグインです。
まだアルファ版で試験的配布といった位置づけですが、以下のような機能があります。
例えば企業のウェブサイトで日本語版、中国語版、韓国語版など複数言語のサイトを Nucleus CMS で構築する場合、メール送信フォームの構築は面倒ですが、そういった場合にかなり楽が出来るのではないでしょうか。
設定ファイルとメールの送信先をプラグイン呼び出し時に指定しますので、例えば個人のウェブサイトで、 Nucleus 本体に設定しているメールアドレスとは別のメールアドレスに送信したい場合や、様々な種類のフォームを使い分けたい場合に便利かと思います。
ダウンロードは NP_utCustomerMail_0_2_alpha.zip です。(UTF-8用)
ご指摘やご不満、ご要望などありましたら ushio@ushio.net 宛にお送りください。
インストールしたらプラグインのオプション画面で以下の設定をしてください。
s/mime を使用する場合、証明書ディレクトリは書き込み可能なパーミッションを設定してください。
秘密鍵のファイル名は メールアドレス_key.pem として証明書ディレクトリにアップロードしてください。
公開鍵のファイル名は メールアドレス_certs.pem として証明書ディレクトリにアップロードしてください。
無料のメール用証明書は COMODO 無償版 セキュア Email証明書 で入手できます。
<%utCustomerMail(テンプレートファイル, 担当者メールアドレス)%>
テンプレートファイルは記事に適用されているスキンのディレクトリから読み込みます。
スキン、テンプレート、アイテム内で
<%utCustomerMail(sample.inc, webmaster@example.com)%>
のように呼び出してください。
例ではスキンディレクトリにある sample.inc を読み込み、 webmaster@example.com にメールを送信します。
サブディレクトリにテンプレートを配置した場合は
<%utCustomerMail(subDir/sample.inc, webmaster@example.com)%>
のようになります。
フォームは記事内で自由に作成してください。
<form> タグの action には <%utCustomerMail(ACTION)%> と記入することで、自動的に URL を挿入します。例えば
<form method="post" acthion="<%utCustomerMail(ACTION)%>">
と指定すれば、 action に現在の URL が挿入され 、実際には
<form method="post" acthion="http://www.example.com/mailform.html">
のように変換されます。 (FancyURL の例)
現在のところ、入力確認画面は表示せず即座にメールを送信します。
設定ファイルのサンプルはダウンロードファイルに添付していますので、 Nucleus の標準プラグインとして添付されているスキンファイルプラグインを利用して設置してください。もちろんご自身のサイトに合わせて内容の変更を忘れずに。
複数言語対応のウェブサイトを構築している場合、
<%utCustomerMail(jpMail.inc, japanese@example.com)%>
<%utCustomerMail(chMail.inc, chinese@example.com)%>
<%utCustomerMail(krMail.inc, korean@example.com)%>
のようにテンプレートを複数準備し、呼び出しを切り替えて使用してください。
設定ファイル内で使用できる変数 :
設定ファイルの内容は以下のようになっています。
<?
/*****************************************************
* 送信者のメールアドレス項目
*****************************************************/
$senderMail = "email";
/*****************************************************
* フィールドと項目名の対応
* ここで指定の無いフィールドは送信しません
*****************************************************/
$Name["user"] = "お名前";
$Name["email"] = "メールアドレス";
$Name["color"] = "お選びいただいた色";
$Name["body"] = "本文";
$Name["year"] = "年";
$Name["month"] = "月";
$Name["day"] = "日";
$Name["date"] = "誕生日"; // フォーム内容連結設定のサンプル用
/*****************************************************
* フォーム内容連結設定
* 年月日など複数フィールドを連結する場合は設定
* フィールドと項目名の対応も設定すること
*****************************************************/
$Set['date'] = "<%year%>年 <%month%>月 <%day%>日";
// ↑ year month day の3つのフィールドを連結するサンプル
/*****************************************************
* フィールドの非表示指定 *
* 連結するなどの理由で非表示にしたい項目を指定 *
*****************************************************/
$NoUse["year"] = 1;
$NoUse["month"] = 1;
$NoUse["day"] = 1;
/*****************************************************
* 文字数制限
* 制限を超える文字はカットして送信されます
* 必須項目ではないので必要な場合のみ設定
*****************************************************/
$Len["user"] = 100;
$Len["email"] = 100;
/*****************************************************
* メールの件名
*****************************************************/
$Message["Subject"] = "<%user%>様のお問い合わせ - From Sample inc.";
/*****************************************************
* メールのヘッダー
*****************************************************/
$Message["Header"] = <<< EOF
ご連絡頂きありがとうございます。
担当者が確認し次第お返事させて頂きます。
以下の内容をお送り頂きました。
EOF;
/*****************************************************
* メールのフッダー
*****************************************************/
$Message["Footer"] = <<< EOF
--
株式会社 サンプル
E-Mail: my@example.com
URL: http://www.example.com/
EOF;
/*****************************************************
* 送信完了時のメッセージ
*****************************************************/
$Message["Ok"]= <<< EOF
<div id="mailmessage">
<p class="close">
<a href="#" onclick="javascript:setmes('1');return false;"><img src="<%skinfile(images/close.gif)%>" /></a>
</p>
<p>送信しました。ありがとうございます。</p>
</div>
EOF;
/*****************************************************
* 連続送信時のメッセージ
*****************************************************/
$Message["Block"] = <<< EOF
<div id="mailmessage">
<p class="close">
<a href="#" onclick="javascript:setmes('1');return false;"><img src="<%skinfile(images/close.gif)%>" /></a>
</p>
<p class="error">連続投稿は出来ません。<%IntTime%>秒お待ちください。</p>
</div>
EOF;
/*****************************************************
* 送信失敗時のメッセージ
*****************************************************/
$Message["Error"] = <<< EOF
<div id="mailmessage">
<p class="close">
<a href="#" onclick="javascript:setmes('1');return false;"><img src="<%skinfile(images/close.gif)%>" /></a>
</p>
<p class="error">問題が発生しました。</p>
</div>
EOF;
/*****************************************************
* おしまい
*****************************************************/
?>
記事内で以下のようにフォームを作成してください。
<!-- プラグイン呼び出し //--> <%utCustomerMail(sample.inc, webmaster@example.com)%> <!-- action には以下のように //--> <form method="post" action="<%utCustomerMail(ACTION)%>"> <p> お名前<br /> <input name="user" size="40" /> </p> <p> メールアドレス<br /> <input name="email" size="40" /> </p> <p> あなたの好きな色は? (複数選択可) </p> <!-- 複数選択項目(チェックボックス等)の場合は name の値の後に [] を付けてください。 //--> <p> <input type="checkbox" name="color[]" value="群青色"> 群青色<br /> <input type="checkbox" name="color[]" value="黄土色"> 黄土色<br /> <input type="checkbox" name="color[]" value="ビリジアン"> ビリジアン<br /> </p> <p> あなたの誕生日は? </p> <p> <input name="year" size="4" />年 <input name="month" size="2" />月 <input name="day" size="2" />日 </p> <p> メッセージ<br /> <textarea cols="40" rows="10" name="body"></textarea> </p> <p> <input type="submit" value="メール送信" /> </p> </form>
Nucleusでつくる!最強のブログサイト
著者: Nucleus CMS Japanチーム
出版: ソーテック社
発行: 2007-04-30
価格: ¥ 3,360
Weblog Publishing System: Wordpress, Blogger.Com, Antville, Twoday.Net, Livejournal, Movable Type, Serendipity, Nucleus CMS, Lifetype
著者:
出版: Books LLC
発行:
価格:
オープンソースCMSテンプレートデザイン―Dreamweaver & Fireworksによる
著者: 伊丹 シゲユキ
出版: ソシム
発行: 2008-01
価格: ¥ 2,520