« PreviousNext »

Net_POP3 と PHPMailer で WebMail

12 3 月 2008

今回は、Net_POP3 と、PHPMailer で、WebMail システムを構築したいと思います。

なぜ、二つのプログラムを使うかというと、なんとなくです。

ちなみにここでの使用例は

受信用 => Net_POP3

送信用 => PHPMailer

で設定しています。

PEAR を使えば、全てできるのですが、いろいろなソフトを使いたかったので・・・。

いや~、久しぶりですね?・・・更新するのが(笑)

というのも、この設定にハマリまくっていたからです。

さ、はじめましょう。

まず、インストールするものが結構あったような気がします。

ので、その作業から・・・。
これは送信用なのでいらないかも
※ PHPMailer で送信するからです。
# pear install -f -a -o mail

これは、メールの mimeタイプ読み出し用です。
# pear install -f -a -o mail_mime

# pear install -f -a -o File_Archive ←   これは多分いらないかな?

これが、受信用です。
# pear install -f -a -o Net_POP3この辺のコマンドで確認できます。
# pear list

# pear config-showこの辺のコマンドで確認できます。

# yum -y install ImageMagick ←   これも多分いらないかな?

# identify -list format ←   一応、確認画像系の処理に必要かなと思いまして、

これが、今回送信用で使用するプログラムです。
# wget http://jaist.dl.sourceforge.net/sourceforge/phpmailer/PHPMailer_v2.0.0.tar.gz2008/3/10 現在

最新版 確認 → http://sourceforge.net/projects/phpmailer

# tar zxvf PHPMailer_v2.0.0.tar.gz

PHPMailer で 使うのは、class.phpmailer.php だけなので、直接コピーしてもいいと思います。

こちらの説明では、下のほうでコピーをしています。

通常通りに処理したければ、include_path にでもコピーしておけばいいかな?

その場合、下記でダウンロードして解凍した中身の

「 send.php 」 の4行目の 「 require("class.phpmailer.php"); 」 を変更してください。

どうして、PHPMailerを使うかというと、・・・意味はないです。

上でも記述していますが、いろんなソフトを試してみたかった・・・。 そんな感じです。(笑)

それから以下のどちらかをダウンロードしてください。(こちらで作成したやつ)
※もし、中身を見て解読できるのであれば、適当に変更してもらってけっこうです。
 というか、中身がぐちゃぐちゃなのでこうしたほうがいいという所があれば
 質問掲示板にでも書いてください。修正します。

↓ リンクですよ
Windows用
Linux用

Windowsは、そのままクリックでダウンロードできると思います。
Linuxであれば、ショートカットをコピーして、

# wget http://server.lunq.net/pub/download/webmail-0.1.tar.gz

でいけるかな?

ただ、Shift_JIS で作成しているので、一旦 Windows でダウンロードして、
設定を施してから、アップロードしたほうが簡単だと思います。
それでもという人は、下に進んでください。

で、解凍します。
# tar zxvf webmail-0.1.tar.gz

その解凍したディレクトリを移動します。
# mv webmail-0.1 /var/www/webmail

一時保存用ディレクトリのパーミッションを変更します。
# chmod 777 /var/www/webmail/tmp
※ 一時保存ディレクトリは html.inc.php で設定可能です。
  Windows であれば、FFFTP か何かで変更してください。

apache用ファイルを作成
※ http://サーバーアドレス/webmail/ でアクセスできるように
# vi /etc/httpd/conf.d/webmail.conf

-------------------- ここから --------------------
Alias /webmail /var/www/webmail

<Location /webmail>
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "WebMail For lunq.net"
AuthType Basic
require valid-user
</Location>
-------------------- ここまで --------------------

.htpasswd の作成は分かりますよね?
パスワード制限をかけないのであれば
下記は入りません

<Location /webmail>
・
</Location>

先ほど解凍した、ファイルをコピーします。
# cp PHPMailer_v2.0.0/class.phpmailer.php /var/www/webmail/

で、設定のほうなんですが、さわるのは、

common.inc.php
html.inc.php

のみです。

common.inc.php は、以下の箇所くらいで、

//?ドメイン名が省略された場合に付加するドメイン名
$config['mua']['defaultDomain']?=?'lunq.net';
//?表示上(HTML出力上)の文字コード
$config['mua']['showCharSet']?=?'Shift_JIS';

html.inc.php に関しては、みれば多分分かると思われます。
その中に下記の記述があります

// CSS ~ の表記

これは、インラインフレームで三つ作っているので共通用と、各個別ようです。
あとは、
http://サーバーアドレス/webmail/ にアクセスして

ユーザー名 => POPサーバーのログインIDを入力
パスワード  => POPサーバーのログインパスワードを入力
POPサーバー => POPサーバー名を入力

でログインすれば、つかえると思います。

動作確認は、CentOS 5 です。Windows では確認していません。

ちなみに、ポート110 で使用していれば、どのサーバーでもいけるはずです。
Yahoo ではいけました。が、Google ではだめでした。(SSLを使用しているからかな?)

ようは、ポート110 意外はだめでしょうということです。

さらに、業者からのメールは文字化けをします。(爆)
直そうとはしたのですが、時間がかかりそうなので無視です。(大爆)

以上です。何かあれば質問掲示板でお願いします。

例によって、サンプルページを作っておきました。
サンプルページに関しては、当サイトの負荷につながるので、
一週間 もしくは 二週間くらいで打ち切らせていただきます。

Posted in HTML | Trackback | del.icio.us | Top Of Page

Comments are closed.