Index: /branches/version-2_12-dev/data/class/SC_SendMail.php
===================================================================
--- /branches/version-2_12-dev/data/class/SC_SendMail.php	(revision 21767)
+++ /branches/version-2_12-dev/data/class/SC_SendMail.php	(revision 21827)
@@ -303,4 +303,12 @@
                     'port' => $this->port,
                 );
+                if (defined('SMTP_USER')
+                    && defined('SMTP_PASSWORD')
+                    && !SC_Utils_Ex::isBlank(SMTP_USER)
+                    && !SC_Utils_Ex::isBlank(SMTP_PASSWORD)) {
+                    $arrParams['auth'] = true;
+                    $arrParams['username'] = SMTP_USER;
+                    $arrParams['password'] = SMTP_PASSWORD;
+                }
                 break;
         }
Index: /branches/version-2_12-dev/data/mtb_constants_init.php
===================================================================
--- /branches/version-2_12-dev/data/mtb_constants_init.php	(revision 21819)
+++ /branches/version-2_12-dev/data/mtb_constants_init.php	(revision 21827)
@@ -307,10 +307,4 @@
 /** 商品レビューでURL書き込みを許可するか否か */
 define('REVIEW_ALLOW_URL', 0);
-/** Pear::Mail バックエンド:"mail"|"smtp"|"sendmail" */
-define('MAIL_BACKEND', "mail");
-/** SMTPサーバー (MAIL_BACKEND が "smtp" の場合のみ) */
-define('SMTP_HOST', "127.0.0.1");
-/** SMTPポート (MAIL_BACKEND が "smtp" の場合のみ) */
-define('SMTP_PORT', "25");
 /** アップデート時にサイト情報を送出するか */
 define('UPDATE_SEND_SITE_INFO', false);
Index: /branches/version-2_12-dev/html/install/index.php
===================================================================
--- /branches/version-2_12-dev/html/install/index.php	(revision 21810)
+++ /branches/version-2_12-dev/html/install/index.php	(revision 21827)
@@ -53,4 +53,7 @@
     'mysql' => '',
 );
+$objPage->arrMailBackend = array('mail' => 'mail',
+                                 'smtp' => 'SMTP',
+                                 'sendmail' => 'sendmail');
 
 $objDb = new SC_Helper_DB_Ex();
@@ -630,4 +633,20 @@
     }
 
+    if (defined('MAIL_BACKEND')) {
+        $mail_backend = MAIL_BACKEND;
+    }
+    if (defined('SMTP_HOST')) {
+        $smtp_host = SMTP_HOST;
+    }
+    if (defined('SMTP_PORT')) {
+        $smtp_port = SMTP_PORT;
+    }
+    if (defined('SMTP_USER')) {
+        $smtp_user = SMTP_USER;
+    }
+    if (defined('SMTP_PASSWORD')) {
+        $smtp_password = SMTP_PASSWORD;
+    }
+
     $objWebParam->addParam('店名', 'shop_name', MTEXT_LEN, '', array('EXIST_CHECK', 'MAX_LENGTH_CHECK'), $shop_name);
     $objWebParam->addParam('管理者：メールアドレス', 'admin_mail', null, '', array('EXIST_CHECK', 'EMAIL_CHECK', 'EMAIL_CHAR_CHECK'), $admin_mail);
@@ -640,4 +659,9 @@
     $objWebParam->addParam('URL(セキュア)', 'secure_url', MTEXT_LEN, '', array('EXIST_CHECK', 'URL_CHECK', 'MAX_LENGTH_CHECK'), $secure_url);
     $objWebParam->addParam('ドメイン', 'domain', MTEXT_LEN, '', array('MAX_LENGTH_CHECK'));
+    $objWebParam->addParam('メーラーバックエンド', 'mail_backend', STEXT_LEN, 'a', array('MAX_LENGTH_CHECK', 'EXIST_CHECK'), $mail_backend);
+    $objWebParam->addParam('SMTPホスト', 'smtp_host', STEXT_LEN, 'a', array('MAX_LENGTH_CHECK'), $smtp_host);
+    $objWebParam->addParam('SMTPポート', 'smtp_port', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), $smtp_port);
+    $objWebParam->addParam('SMTPユーザー', 'smtp_user', STEXT_LEN, 'a', array('MAX_LENGTH_CHECK'), $smtp_user);
+    $objWebParam->addParam('SMTPパスワード', 'smtp_password', STEXT_LEN, 'a', array('MAX_LENGTH_CHECK'), $smtp_password);
 
     return $objWebParam;
@@ -962,5 +986,10 @@
                  . "define('AUTH_MAGIC', '"            . $auth_magic . "');\n"
                  . "define('PASSWORD_HASH_ALGOS', '"   . $algos . "');\n"
-                 . "define('RELEASE_YEAR', '"          . date('Y') . "');\n";
+                 . "define('RELEASE_YEAR', '"          . date('Y') . "');\n"
+                 . "define('MAIL_BACKEND', '"          . $objWebParam->getValue('mail_backend') . "');\n"
+                 . "define('SMTP_HOST', '"             . $objWebParam->getValue('smtp_host') . "');\n"
+                 . "define('SMTP_PORT', '"             . $objWebParam->getValue('smtp_port') . "');\n"
+                 . "define('SMTP_USER', '"             . $objWebParam->getValue('smtp_user') . "');\n"
+                 . "define('SMTP_PASSWORD', '"         . $objWebParam->getValue('smtp_password') . "');\n";
 
     if ($fp = fopen(CONFIG_REALFILE, 'w')) {
Index: /branches/version-2_12-dev/html/install/templates/step1.tpl
===================================================================
--- /branches/version-2_12-dev/html/install/templates/step1.tpl	(revision 21344)
+++ /branches/version-2_12-dev/html/install/templates/step1.tpl	(revision 21827)
@@ -20,4 +20,24 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *}-->
+<script type="text/javascript">
+$(function() {
+    $('.option').hide();
+    if ($('input[name=mail_backend]').val() == 'smtp') {
+        $('.smtp').attr('disabled', false);
+    } else {
+        $('.smtp').attr('disabled', true);
+    }
+    $('#options').click(function() {
+        $('.option').slideToggle();
+    });
+    $('input[name=mail_backend]').change(function() {
+        if ($(this).val() == 'smtp') {
+            $('.smtp').attr('disabled', false);
+        } else {
+            $('.smtp').attr('disabled', true);
+        }
+    });
+});
+</script>
 <form name="form1" id="form1" method="post" action="?">
 <input type="hidden" name="mode" value="<!--{$tpl_mode}-->" />
@@ -142,4 +162,60 @@
             </tr>
         </table>
+
+        <p><a href="javascript:;" id="options">&gt;&gt; オプション設定</a></p>
+        <div class="option">
+            <h2>メールサーバーの設定(オプション)</h2>
+            <table>
+                <col width="30%" />
+                <col width="70%" />
+                <tr>
+                    <th>メーラーバックエンド<span class="attention">※</span></th>
+                    <td>
+                      <!--{assign var=key value="mail_backend"}-->
+                      <span class="attention"><!--{$arrErr[$key]}--></span>
+                      <!--{html_radios name=$key options=$arrMailBackend selected=$arrForm[$key].value|h}--><br />
+                      <span class="ex-text">mail - PHP の組込関数 mail() を使用して送信します。<br />
+                      SMTP - SMTP サーバに直接接続してメールを送信します。<br />
+                      sendmail - sendmail プログラムにより送信します。</span>
+                    </td>
+                </tr>
+                <tr>
+                    <th>SMTP ホスト<span class="attention">※</span></th>
+                    <td>
+                      <!--{assign var=key value="smtp_host"}-->
+                      <span class="attention"><!--{$arrErr[$key]}--></span>
+                      <input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|h}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="50" class="smtp" /><br />
+                      <span class="ex-text">メーラーバックエンドが SMTP の場合のみ指定します。</span>
+                    </td>
+                </tr>
+                <tr>
+                    <th>SMTP ポート<span class="attention">※</span></th>
+                    <td>
+                      <!--{assign var=key value="smtp_port"}-->
+                      <span class="attention"><!--{$arrErr[$key]}--></span>
+                      <input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|h}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="5" class="smtp" /><br />
+                      <span class="ex-text">メーラーバックエンドが SMTP の場合のみ指定します。</span>
+                    </td>
+                </tr>
+                <tr>
+                    <th>SMTP ユーザー</th>
+                    <td>
+                      <!--{assign var=key value="smtp_user"}-->
+                      <span class="attention"><!--{$arrErr[$key]}--></span>
+                      <input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|h}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="50" class="smtp" /><br />
+                      <span class="ex-text">メーラーバックエンドが SMTP の場合で、SMTP-AUTH 使用時のみ指定します。</span>
+                    </td>
+                </tr>
+                <tr>
+                    <th>SMTP パスワード</th>
+                    <td>
+                      <!--{assign var=key value="smtp_password"}-->
+                      <span class="attention"><!--{$arrErr[$key]}--></span>
+                      <input type="password" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|h}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="50" class="smtp" /><br />
+                      <span class="ex-text">メーラーバックエンドが SMTP の場合で、SMTP-AUTH 使用時のみ指定します。</span>
+                    </td>
+                </tr>
+            </table>
+        </div>
     </div>
 </div>
Index: /branches/version-2_12-dev/html/install/sql/insert_data.sql
===================================================================
--- /branches/version-2_12-dev/html/install/sql/insert_data.sql	(revision 21819)
+++ /branches/version-2_12-dev/html/install/sql/insert_data.sql	(revision 21827)
@@ -1165,7 +1165,4 @@
 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('CV_PAYMENT_LIMIT', '14', 275, '支払期限 (*モジュールで使用)'); 
 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('REVIEW_ALLOW_URL', '0', 277, '商品レビューでURL書き込みを許可するか否か');
-INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('MAIL_BACKEND', '"mail"', 285, 'Pear::Mail バックエンド:"mail"|"smtp"|"sendmail"');
-INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('SMTP_HOST', '"127.0.0.1"', 287, 'SMTPサーバー (MAIL_BACKEND が "smtp" の場合のみ)');
-INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('SMTP_PORT', '"25"', 288, 'SMTPポート (MAIL_BACKEND が "smtp" の場合のみ)');
 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('UPDATE_SEND_SITE_INFO', 'false', 289, 'アップデート時にサイト情報を送出するか');
 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('USE_POINT', 'true', 290, 'ポイントを利用するか(true:利用する、false:利用しない) (false は一部対応)');
