レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

メールマガジンを簡単に発行できる phpList をインストールしてみた

2014年3月7日 2014年3月11日
PHPLIST

今回は、メールマガジンなどのダイレクトメールを大量に送信できる メーリングリストの管理ソフトである phpList をインストールしてみようと思います。

phpListとは、
電子メールのメーリングリストを管理するオープンソースソフトウェアである。PHPで書かれ、MySQLデータベースに情報を保持する。phpListはGPLの下に置かれ、自由に配布できる。
(出展:Wikipedia)

[ システム要件(phpList 3系) ]
  • PHP 5.3系以上(IMAP module が必要)
  • MySQL 5.0系以上
  • Web Server(Apache など)
  • メール送信可能なMTAサーバー(Sendmail,Postfix など)
phpList 2系では、PHP 4.3以上と古いバージョンにも対応していましたが、ここでは最新の 3.05 をインストールしたいので、上記の条件となります。

mailman + Postfix + Apache でメーリングリストを使ってみる(ソースインストール編) で扱った mailman のような 討論用のメーリングリスト でなく、告知用のメーリングリスト の管理ソフトになります。

そのため、一方向の送信のみ対応(返信は受け付けません)しており、メールマガジンやメール告知などの用途向けののメーリングリスト管理ソフトとなります。

では、早速、インストールをやってみましょう。


前提条件

先にも示したように システム要件として、PHP,MySQL,ウェブサーバー,MTAサーバー(メールサーバー)が必要になります。
ここでは、以下の環境で1つのサーバーにすべて環境が整っているものとして以降の解説を行います。

  • PHP 5.4系(IMAP module を含む)の最新版
  • MySQL 5.1系 の最新版
  • Apache 2.2系 の最新版(ここではウェブサーバにApache を使ってみます)
  • メール送信可能なMTAサーバー(Sendmail,Postfix など) : ここの設定は特にないのでメールが送信できる環境があれば可(外部サーバーでも可)。

phpListの最新版をダウンロードし、展開する

phpListの最新版(ここでは3.05)をダウンロードし、ウェブサーバーで確認できるようにします。

ここでは、/var/www/ 配下に最新版のphpListを展開しておきます。

# 最新版のphpListをダウンロードします。今のところ、3.05が最新版のようです。
$ wget "http://downloads.sourceforge.net/project/phplist/phplist/3.0.5/phplist-3.0.5.tgz?r=http%3A%2F%2Fwww.phplist.com%2Fdownload&ts=1394049362&use_mirror=jaist"  -O phplist-3.0.5.tgz
...
# 最新版のphpListを解凍、展開します。展開先は、ここでは、/var/www 配下とします。
$ tar xfz phplist-3.0.5.tgz -C /var/www
# phplist-3.0.5 のディレクトリが作成されたことを確認します。
$ ls
...
phplist-3.0.5
...
# 確認できたら不要のphpListのアーカイブは削除します。
$ rm -f phplist-3.0.5.tgz

ウェブサーバーでphpListの公開するディレクトリを設定する

phpListは、ウェブサーバー経由でメーリングリストの作成やユーザの登録削除、投稿などメーリングリスト管理全般を行うことができます。
そこで、phpListで公開するディレクトリをウェブサーバーで設定します。

ここでは、上記のように /var/www/ 配下に phplist-3.0.5 というディレクトリへphpListの最新版が展開されています。

この場合、公開するディレクトリは、
/var/www/phplist-3.0.5/public_html
となります。

以降に、Apacheの仮想ドメインサーバーを phplist.example.com として、公開する例を簡単に解説しておきます。

CentOS/Scientific Linux では、/etc/httpd/conf.d/phplist.conf
Debian/Ubuntu では、/etc/apache2/sites-available/phplist
の名前でファイルを作成します。

<VirtualHost *:80>
    ServerName phplist.example.com
    ServerAdmin admin@example.com
    DocumentRoot /var/www/phplist-3.0.5/public_html

    LogLevel warn
    ErrorLog /var/log/httpd/phplist_error.log
    CustomLog /var/log/httpd/phplist_access.log combined
</VirtualHost>
ApacheなどのウェブサーバーでphpListの公開するディレクトリは、上記の例では、
/var/www/phplist-3.0.5/public_html
となります。
間違っても /var/www/ や /var/www/phplist-3.0.5/ などを公開しないようにしましょう。

設定を終えたら apacheの再起動を行っておけばOKです。
また、ログディレクトリ ( /var/log/httpd )が存在しない場合は作成しておきましょう。

# CentOS/Scientific Linuxの場合
$ /etc/init.d/httpd restart
...

# Debian/Ubuntuの場合
$ /etc/init.d/apache restart
...

簡単な動作確認だけはしておきましょう。
先の設定例でいうと、http://phplist.example.com へアクセスしたら、以下のようなページが表示され、数秒後、自動的に http://www.phplist.com/ へ遷移すればOKです。

PHPLIST デフォルトページ

phpListで使用する php のIMAP モジュールをインストールする

先にも書きましたが、phpListは、php のIMAP モジュールが必要となります。
まず、phpinfo(); の出力結果を確認します。

$ echo '<?php echo phpinfo(); ?>' > /var/www/phplist-3.0.5/public_html/info.php

以下のように IMAP 情報が出力されればOKです。

PHPLIST IMAP

もし、出力されないよなら、以下のように IMAPモジュールをインストールして ウェブサーバーの再起動、PHP FPMなどのサーバーを利用している場合は、それも再起動すればOKです。

# CentOS/Scientific Linuxの場合
$ yum install php54-imap
...

# Debian/Ubuntuの場合
$ aptitude install php5-imap
...

phpListで使用するデータベースを作成する

先にも書きましたが、phpListは、Joomla!やWordpressと同様、mysql(データベース)とphpで動作します。
そのためphpListのためのmysql(データベース)を1つと、それを扱うユーザを作成しておきます。

ここでは、以下のように設定します。
  • phpListが使用するデータベース名 : phplist
  • phpListが使用するユーザ名 : phplist
  • phpListが使用するパスワード : phplistpass
$ mysql -uroot -p mysql
Enter password:
...
mysql> create database phplist;
Query OK, 1 row affected (0.07 sec)

mysql> create user phplist IDENTIFIED by 'phplistpass';
Query OK, 0 rows affected (0.13 sec)

mysql> grant all privileges on phplist.* to phplist@localhost identified by 'phplistpass';
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

phpListをセットアップする

データベース、phpListの最新版を展開しましたので、あとは、phpListをセットアップすればOKです。
phpListをセットアップするには、一部のファイルを編集してから、ウェブ画面からインストールを実行します。

環境設定ファイルを編集する

phpListの環境設定ファイルは、ここでの例では、
/var/www/phplist-3.0.5/public_html/lists/config/config.php
になります。

このファイルで、データベース、MTAサーバー、バウンスメールの環境設定を行います。

...
# 言語モジュールに日本語の設定を追加します。
$language_module = "japanese.inc";

...

# what is the name of the database we are using
# phpListで使うデータベース名を変更する
#$database_name = "phplistdb";
$database_name = "phplist";

# what user has access to this database
$database_user = "phplist";

# and what is the password to login to control the database
# phpListで使うユーザのパスワードを変更する
#$database_password = 'phplist';
$database_password = 'phplistpass';

# データベースで作成するテーブル名のプレフィックスを設定する
$usertable_prefix = "phplist_user_";

# phpListのリストルートディレクトリを設定する
$pageroot = '/lists';

# phpListの管理ルートディレクトリを設定する
$adminpages = '/lists/admin';


# if you have an SMTP server, set it here. Otherwise it will use the normal php mail() function
## if your SMTP server is called "smtp.mydomain.com" you enter this below like this:
## 
##     define("PHPMAILERHOST",'smtp.mydomain.com');

# MTAサーバー関連情報を設定します。
# define("PHPMAILERHOST",'');
# MTAサーバー名を設定します。
define("PHPMAILERHOST",'mail.example.com');
# MTAサーバーのポート番号を設定します。ssl使用の場合は465、tls使用の場合は587、通常は設定の必要はありません。
# ここでは、sslを使った場合の設定例を示します。
define('PHPMAILERPORT',465);
define("PHPMAILER_SECURE",'ssl');
# MTAサーバーへアクセスするユーザ名を設定します。
$phpmailer_smtpuser = 'hoge';
# MTAサーバーへアクセスするユーザのパスワードを設定します。
$phpmailer_smtppassword = 'hogepass';

# if test is true (not 0) it will not actually send ANY messages, but display what it would have sent
# this is here, to make sure you edited the config file and mails are not sent "accidentally"
# on unmanaged systems

# テストモードを解除します。
# デフォルトの設定では、テストモードになっていて実際にメール送信を行わないようになっています。
# テストモードを解除するには、以下のようにTEST0を設定します。
#define ("TEST",1);
define ("TEST",0);

...

# バウンスメールの宛先アドレスを設定します。
# $message_envelope = 'listbounces@yourdomain';
$message_envelope = 'bounces@example.com';
...
# バウンスメールの取得先サーバー、ユーザ、パスワードを設定します。
# $bounce_mailbox_host = 'localhost';
# $bounce_mailbox_user = 'popuser';
# $bounce_mailbox_password = 'password';
$bounce_mailbox_host = 'pop.example.com';
$bounce_mailbox_user = 'bounces';
$bounce_mailbox_password = 'bouncespass';
...
# バウンスメールの取得先サーバーのポート番号、プロトコルを指定します。ここでは、pop3+sslなので995を設定しています。
# $bounce_mailbox_port = "110/pop3/notls";
$bounce_mailbox_port = "995/pop3/ssl";

...

# 最後にデフォルト言語に日本語の設定を追加します。
$default_system_language = 'ja';

上記の箇所が変更、追加箇所です。
上記以外は、デフォルトのままでOkだと思います。

ここの設定は、必要最小限の設定となっています。もし、メールの設定など細かい設定を行いたい場合は、別途、設定する必要があります。

国際化を図る

各翻訳ファイルは、
/var/www/phplist-3.0.5/public_html/lists/admin/locale/ja/phplist.po
のようにpoファイルで存在します。(./ja/ : 日本語の場合 )

通常は、何も気にせずログインすれば自動的に翻訳しれるはずです。

ログイン時に自動的に ‘phplist.po’ ファイルが読み込まれ、データベースに保存され、そのデータベース情報によって、翻訳されるようになっています。
翻訳内容が気に入らない、翻訳をもっと完全なものにしたい場合は、’phplist.po’ファイルを編集し、再ログインすれば 再読み込み処理が実施されます。

日本語文字コード iso-2022-jp に対応する

phpListで日本語文字コード iso-2022-jp に対応するには、一部のソースコードを編集する必要があります。
ここでの例では、
/var/www/phplist-3.0.5/public_html/lists/admin/class.phplistmailer.php
の編集が必要になります。

ここでは、日本語のメールが、一般的に
文字コード : ‘iso-2022-jp’
エンコード : ‘7bit’
を使っているので、そのための変更をします。

文字コードがUTF8でメールを送信してもOKなら、ここの設定は不要です。
ただ、古いメールクライアントを使っている場合は、UTF8の文字コードを正しく読めない場合もあるので注意が必要です。(最近のメールクライアントやウェブメールなら問題ないはずです)

    ...
    function PHPlistMailer($messageid,$email,$inBlast = true,$exceptions = false) {
      ...
      // コンストラクタの最終行に言語を日本語に設定する。
      $this->SetLanguage('ja', dirname(__FILE__) . '/phpmailer/language/');
    }
    ...
    // MailSendを親クラス PHPMailer の定義に合わせる
    //function MailSend($header, $body) {
    protected function MailSend($header, $body) {
      // MailSendの先頭に文字列を変換するメソッド(関数)を呼ぶように追加する。
      $body = $this->body2ja($body);
      ...
    }
    ...
    // ---- ここから、最終行に追加する ---- 
    //  属性に言語コード情報を追加する
    public $language_code      = '';
    //  言語コードが日本語の場合は、文字コードを変換するメソッド body2ja 追加する
    public function body2ja($body) { 
        if($this->language_code=='ja') {
            $body = mb_convert_encoding($body, $this->CharSet);
        }
        return $body;
    }
    //  SetLanguage のオーバーライド
    function SetLanguage($langcode = 'en', $lang_path = 'language/') {
        // 言語コード情報を属性情報に設定する
        $this->language_code = $langcode;
        // 言語コード情報が日本語の場合は、文字コード、エンコード情報を上書きする
        if($langcode=='ja') {
            $this->CharSet           = "iso-2022-jp";
            $this->Encoding          = "7bit";
        }
        // 親のSetLanguageをコールする
        return parent::SetLanguage($langcode,$lang_path);
    }

    //  SendmailSend のオーバーライド
    protected function SendmailSend($header, $body) {
        // 先頭で文字列を変換するメソッド(関数)を呼ぶように追加する。
        $body = $this->body2ja($body);
        return parent::SendmailSend($header,$body);
    }
    //  SmtpSend のオーバーライド
    protected function SmtpSend($header, $body) {
        // 先頭で文字列を変換するメソッド(関数)を呼ぶように追加する。
        $body = $this->body2ja($body);
        return parent::SmtpSend($header,$body);
    }
    //  EncodeHeader のオーバーライド
    public function EncodeHeader($str, $position = 'text') {
        // 先頭で文字列を変換する処理を追加する。
        if($this->language_code=='ja') {
            $str = mb_encode_mimeheader($str, $this->CharSet, "B");
        }
        return parent::EncodeHeader($str,$position);
    }
    // ---- ここまで、最終行に追加する ---- 
}

上記の変更で、日本語の場合に無条件に
文字コード : ‘iso-2022-jp’
エンコード : ‘7bit’
としています。


phpListのセットアップを行う

ウェブ画面からphpListをインストール(セットアップ)します。
ウェブブラウザから、lists/admin/ を直接アクセスします。
ここの例では、http://phplist.example.com/lists/admin/ へアクセスすることになります。

  1. データベースの初期化
    phpList インストール画面

    http://phplist.example.com/lists/admin/ へアクセスすると最初に上記のようなページが表示されます。
    ページ内の Initialise database をクリックすると以下のように管理者ページが表示されます。

    phpList インストール画面
    • Please enter your name. : 名前を入力します。
    • The name of your organisation : 組織名(会社名など)を入力します。ここでは個人としました。
    • Please enter your email address. : 管理者のメールアドレスを入力します。
    • Please enter the password you want to use for this account. : 管理者パスワードを8文字以上で入力します。

    設定を終えたら、Continue ボタンをクリックし、データベースの初期化を実行します。

    phpList インストール画面

    これでデータベースの初期化が完了となります。
    phpList setup ボタンをクリックし、phpListの設定を行います。


  2. phpListの設定
    phpList インストール画面

    コンフィギュレーション オプション の中で Verify Settings(設定の確認)の Go there をクリックします。

    phpList インストール画面
    • Who gets the reports : レポートをメールするアドレスを入力します。
    • From email address for system messages : システムメッセージの差出人アドレスを入力します。
    • Reply-to email address for system messages : システムメッセージの返信先アドレスを入力します。

    最低限 上記の項目は確認しておきましょう。
    上記のメールアドレスは、自動的に作成されています。上記の例で listreports は、少なくとメールを受信できるようにしておく必要があります。



phpListのセットアップを行う

ウェブ画面からphpListをインストール(セットアップ)します。
ウェブブラウザから、lists/admin/ を直接アクセスします。
ここの例では、http://phplist.example.com/lists/admin/ へアクセスすることになります。

  1. テスト用リストにユーザを登録してみる

    テスト用リスト(test) に新しいユーザ(メールアドレス)を登録してみたいと思います。

    phpList メニュー リスト

    上記のように メニューの Subscribers(購読者)- リスト をクリックし、メーリングリストの管理を行います。

    phpList メニュー リスト

    ここで 既にある テスト用リスト(test) に新しいユーザ(メールアドレス)を登録するために、Add(追加)ボタンをクリックします。

    phpList メニュー リスト

    ここで追加するメールアドレスを入力し、Import emails ボタンをクリックすると追加されます。


  2. テスト用リストにメッセージを送信してみる

    テスト用リスト(test) にメッセージを送信してみたいと思います。

    phpList キャンペーン 送信

    上記のように メニューの Campaigns(キャンペーン)- 送信 をクリックし、メッセージの編集・送信を行います。

    phpListでは、メッセージをキャンペーンと呼びます。
    phpList キャンペーン 送信
    • メールタイトル : メールタイトルを入力します。
    • From Line : 差出人アドレスを入力します。
    • コンテンツ : ウェブページを指定するか、メッセージを編集するか指定します。ここでは、Compose Message (メッセージ編集)を選択します。
    • Compose Message : メッセージを入力します。

    編集を終えたら、NEXTボタンをクリックします。

    phpList キャンペーン 送信
    • Send as : メッセージフォーマットを選択します。ここでは、text(テキスト)を選択します。

    編集を終えたら、NEXTボタンをクリックします。

    phpList キャンペーン 送信
    • Embargoed Until : 設定日時まで送信しない。
    • Stop sending after : 設定日時を過ぎたら送信を停止する。
    • Requeue every : 指定毎に再キューへアタッチする。
    • Requeue Until : 設定日時まで再キューへアタッチする。

    これは、送信のタイミングと処理が長引いた時の対応を指定するものです。ここでは、即送信としたいので、そのままNEXTボタンをクリックします。

    phpList キャンペーン 送信

    送信したいメーリングリストを指定します。ここでは、テスト用リスト(test)のみを選択し、NEXTボタンをクリックします。

    phpList キャンペーン 送信
    • このメッセージの送信が始まるとき、アラートする電子メール : 開始通知メールが欲しい場合は、通知先アドレスを指定します。
    • このメッセージの送信が完了したとき、アラートする電子メール : 終了通知メールが欲しい場合は、通知先アドレスを指定します。
    • add Google Analytics tracking code : Google Analyticsのトラッキングコードをメールに埋め込む場合はチェックします。
    • Reset click statistics : 統計データをリセットする場合はチェックします。

    特に何も必要ないので、ここは何も指定せずSend campaignボタンをクリックし、メッセージを送信します。

    phpList キャンペーン 送信

    上記のようにキュー(処理待ち状態)に追加されたページが表示されます。
    ここでは、すぐにキュー(処理待ち状態)を実行したいので、キューの処理ボタンをクリックし、すぐにメールの送信を開始します。

    phpList キャンペーン 送信

    上記のようにすべてのメールの送信を終えるとAll doneが表示され完了となります。

    ここでは即実行するためにキュー処理ボタンをクリックしましたが、大きなリストの場合、プロセスを占有し画面に出力され続けるのも困ることがあります。 その場合は、以下のようにCRONの設定を行うことで、バックグランドでキュー処理を実行することもできます。
    17 0 * * * /usr/bin/php /var/www/phplist-3.0.5/public_html/lists/admin/index.php -pprocessqueue -c/var/www/phplist-3.0.5/public_html/lists/config/config.php >/dev/null

  3. メッセージを確認する

    先に送信したメッセージが、管理者のメールアドレス(デフォルトでテスト用リストに含まれている)と 先に追加したメールアドレスに、それぞれ配信されたか確認します。

    phpList キャンペーン 送信

    上記のようにメッセージが各メールアドレス宛に受信できればOKです。



mailman + Postfix + Apache でメーリングリストを使ってみる(ソースインストール編) で扱った mailman とは かなり異なりますが、 メールマガジンが簡単に個人で利用できる点においては面白いですね。

上記以外にいろんな設定があり、大量メールを送付する場合にある程度 間隔をおきながら送信するようにすることもできます。 大量メールを送信するとスパム扱いされる可能性がありますから、このような機能は非常に大事になってくるでしょう。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

phpList でデータベースの初期化の問題点

メールマガジンを簡単に発行できる phpList をインストールしてみた では、簡単ながら phpListをインストールして使ってみました。 ...

phpList の国際化(日本語化)の仕組みと方法

メールマガジンを簡単に発行できる phpList をインストールしてみた で phpListをインストールしてみました。 しかしながら、実際に ...

評判のKDDI クラウドコア(CloudCore) VPS にapache , php , mysql をインストールし、Wordpressを使ってみる (CentOS編)

評判のCloudCore VPSを使うときに最初にやっておきたいこと(CentOS編) の続き・・・で、今回は、評判のKDDI CP ...

DovecotでIMAP IDLE を使った Pushメールを体験してみる

以前に Dovecotでメールを受信する でDovecotの基本設定について解説しました。 今回は、そのDovecotを使って、携帯メールのよ ...

Debian (Ubuntu 12) で Dotdeb から最新のPHP , MySQL をインストールする

DebianにもRedHat系と同じようにバイナリパッケージを提供するためのリポジトリがあります。 ただ、CentOSなどと同じように一般的に ...



コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.2353 [s]