ホームページ >バックエンド開発 >PHPチュートリアル >winwebmail はシンプルな Web メール システムを構築します

winwebmail はシンプルな Web メール システムを構築します

WBOY
WBOYオリジナル
2016-07-29 08:34:131553ブラウズ

これは Web メールのサンプル コードです。機能はそれほど強力ではありませんが、主な機能はフォルダーの表示、メールの返信、メールの作成などです。ただし、このプログラムでは、添付ファイルの解釈と送信の問題は考慮されていません。 (元の記事はこちら)。これは、Web メールのプログラミングを理解したいネチズン向けの参考資料としてのみ推奨されます。より完全な Web メールについては、ここにアクセスして見つけてください。
注意: このプログラムでは http 認証機能が使用されており、この機能は Apache サーバーで使用する必要があります。
------------------------------------------------- -----------------------------
以下のコードをindex.php3、imapfuncs.phlとして保存します
imapfuncs.phlを設定します $ M_HOST = "localhost"; $M_MAILSERVER = "transit.fast.no";
次に、ファイル内のindex.php3を参照します。 ------------------------------------------------ ---- -------
index.php3
/* $Id:index.php3,v 1.3 1999/04/14 12:12:32 borud Exp $ */
/* IMAP ライブラリをロードします私たちが書いた関数 */
m_login($m);






if ($cmd == "削除") { m_delete($marked, $m);
m_list($m);
}
elseif ($cmd == "表示") {
m_display($n, $m)
}
elseif ($cmd == "作成" || $cmd == "返信") {
m_compose($n, $m);
}
elseif ($cmd == "送信") {
m_send($to, $subject,
m_list($ m);
else {
m_list($m);
?>




---------------------------- -------- ---------------------------------------- --
imapfuncs.phl
< ;?PHP /* -*-C++-*- */
/* $Id: imapfuncs.phl,v 1.4 1999/04/14 12:12:32 borud Exp $ */
/* 設定可能なパラメータ */
$ M_HOST = "ローカルホスト";
$M_COLOR_ODD = "#EEEEEE";
$M_COLOR_BG = " #FFFFFF";
/* グローバル */
$M_PORT = 143;
$M_SERVICE = "imap";
$M_SYSNAME = "シンプルな PHP3 IMAP インターフェイス 1.0";
$M_MBOX = "{ $M_HOST:$M_PORT/$M_SERVICE }";
$M_REALM = "IMAP インターフェイス";
$MBOX = false;
/* 関数 */
function m_login ($mailbox = '')
{
global $MBOX, $ M_REALM;
global $PHP_AUTH_USER, $ PHP_AUTH_PW;
if ($MBOX) {
return true;
if (! $PHP_AUTH_USER) {
m_reject($M_REALM)
}
$MBOX = @imap_open(m_mailbox_name($mailbox), $PHP_AUTH_ PW );
if (! $MBOX) {
m_reject($M_REALM);
return true;
function m_list($mailbox = '')
{
global $M_COLOR_ODD; $M_COLOR_EVEN, $M_COLOR_HEAD, $M_COLOR_BG;
/* サーバーにログインしていない場合は、ログインします */
if (! $MBOX) {
if (! m_login($mailbox)) {
return false; $num = imap_num_msg($MBOX);
echo "
n";
echo "
;n";
echo "";
echo "";
echo "n";
for ($i=1; $i < ($num+1); $ i++) {
$head = imap_header ($MBOX, $i, 50, 50, 0);
$from = $head->fetchfrom;
$date = m_date_format( $head->date);
$bgcolor = ($i%2 == 0)?$M_COLOR_ODD:$M_COLOR_EVEN;
echo "n"; NAME=marked[] VALUE=$i>n";
echo " ";
echo "";
echo "n"; ;
}
if ($num echo "n";
}
echo "n";
echo "
From件名 Date
$from< A href="$PHP_SELF?m =$mailbox&n=$i&cmd=display">$subj$date

"; 1 COLOR=#FF0000>メールボックスにメッセージはありません";
echo "

";
echo "";
echo "";
echo "";
echo "
n";
echo "
n";
true を返します。
}
関数 m_display($msgno, $mailbox = '')
{
グローバル $MBOX, $M_COLOR_HEAD, $M_COLOR_BG;
グローバル $PHP_SELF;
if (! $MBOX) {
if (! m_login($mailbox)) {
return false;
}
}
$struc = imap_fetchstruct($MBOX, $msgno);
if (! $struc) {
return false;
}
$head = imap_header($MBOX, $msgno, 50, 50, 0);
$from = $head->fromaddress;
$subj = $head->件名;
$date = $head->date;
$body = htmlentities(imap_body($MBOX, $msgno));
echo "
n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "
メッセージ #$msgno: $from / $subj
n"; <br>echo "From: $fromn"; <br>echo "件名: $subjn"; <br>echo "日付: $daten"; <br>echo "<hr size="2" noshade>n"; <br>「$bodyn」をエコー; <br>echo "
";
echo "
";
echo "n";
echo "n";
echo "n";
echo "";
echo "";
echo " ";
echo "
n";
echo "
n";
true を返します。
}
function m_delete ($msgno, $mailbox='')
{
global $MBOX;
if (is_array($msgno)) {
while (list($dummy, $num) = each($msgno)) {
imap_delete($MBOX, $num);
}
imap_expunge($MBOX);
} else {
false を返す;
}
true を返します。
}
関数 m_compose ($msgno='', $mailbox='')
{
グローバル $MBOX, $M_COLOR_HEAD, $M_COLOR_BG;
グローバル $PHP_SELF、$PHP_AUTH_USER、$M_MAILSERVER;
if ($msgno != '') {
$head = imap_header($MBOX, $msgno, 150, 150, 0);
$to = $head->fromaddress;
$subject = "Re: " . $head->件名;
$body = "$to 書き込み:n";
$body .= ereg_replace("n","n>", "n" . imap_body($MBOX, $msgno));
} else {
$to = "";
$subject = "";
$body = "";
}
echo "
n";
echo "n";
echo "n";
echo "";
echo "n";
echo "";
echo "n";
echo "
To:
件名:
";
echo ""; 

以上は、winwebmail に関する内容を含む、winwebmail を構築した単一の Web メール システムであり、PHP 教則に関心のある友人の助けになることを望みます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。