これは Web メールのサンプル コードです。機能はそれほど強力ではありませんが、主な機能はフォルダーの表示、メールの返信、メールの作成などです。ただし、このプログラムでは、添付ファイルの解釈と送信の問題は考慮されていません。 (元記事はこちら)。これは、Web メール プログラミングについて学びたいネチズンの参考としてのみ推奨されます。より完全な Web メールについては、ここにアクセスして見つけてください。
注意: このプログラムでは http 認証機能が使用されており、この機能は Apache サーバーで使用する必要があります。
---------------------------------- - ---------------------------------------
以下を変更しますコードは、index.php3、imapfuncs.phl
$M_HOST = "localhost"; $M_MAILSERVER = "transit.fast.no"
として保存され、imapfuncs.phl ファイル内のindex.php3 を参照します。
----------------------------------------------- -- ----------------------------------
index.php3
< ?PHP
/* $Id:index.php3,v 1.3 1999/04/14 12:12:32 borud Exp $ */
/* 作成した IMAP ライブラリ関数をロードします */
include("imapfuncs.phl");
m_login($m);
🎜>< ;P>
if ($cmd == "削除") {
m_list($m); >}
elseif ($cmd == "表示") {
m_display($n, $m)
}
elseif ($cmd == "作成") || $ cmd == "返信") {
m_compose($n, $m)
elseif ($cmd == "送信") {
m_send($) to, $ subject, $body);
m_list($m);
else {
m_list($m);
? 🎜>
本文>
------ -------------------------------------------------- -- --------
imapfuncs.phl
/* $Id: imapfuncs. phl、v 1.4 1999/04/14 12:12:32 borud Exp $ */
/* 設定可能なパラメータ */
$M_HOST = "localhost"; $M_MAILSERVER = "transit.fast.no";
$M_COLOR_ODD = "#CCCCCC";
$M_COLOR_HEAD = "#AAAAFF"; $M_COLOR_BG = "#FFFFFF";
/* グローバル */
$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; $MBOX ) {
return true;
}
if (! $PHP_AUTH_USER) {
m_reject($M_REALM)
}
$MBOX = @ imap_open( m_mailbox_name($mailbox), $PHP_AUTH_USER, $PHP_AUTH_PW);
if (! $MBOX) {
m_reject($M_REALM)
return true;
}
関数 m_list($mailbox = '')
{
グローバル $MBOX, $PHP_SELF;
グローバル $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";
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->subject;
$date = $head->date;
$body = htmlentities(imap_body($MBOX, $msgno));
エコー "
n";
echo "n";
echo "メッセージ #$msgno: $from / $subj |
n";
echo "n"; <br>エコー "From: $fromn"; <br>エコー "件名: $subjn"; <br>エコー "日付: $daten"; <br>エコー "<hr size="2" noshade>n"; <br>「$bodyn」をエコー; <br>エコー " |
n";
エコー "";
echo " |
n";
エコー "
n";
エコー "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 {
return false;
}
true を返します。
}
function m_compose ($msgno='', $mailbox='')
{
global $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 "