ホームページ  >  記事  >  バックエンド開発  >  シンプルな Web メール システムの構築_PHP チュートリアル

シンプルな Web メール システムの構築_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 16:03:191322ブラウズ

これは Web メールのサンプル コードです。機能はそれほど強力ではありませんが、主な機能はフォルダーの表示、メールの返信、メールの作成などです。ただし、このプログラムでは、添付ファイルの解釈と送信の問題は考慮されていません。 (元の記事はこちら)。これは、Web メールのプログラミングを理解したいネチズン向けの参考資料としてのみ推奨されます。より完全な Web メールについては、ここにアクセスして見つけてください。
注意: このプログラムでは http 認証機能が使用されており、この機能は Apache サーバーで使用する必要があります。




-------------------------------------------- --- ----------------------------------
次のコードをindex.php3、imapfuncs.phlとして保存します。それぞれ
$M_HOST = "localhost"; $M_MAILSERVER = "transit.fast.no";
次に、imapfuncs.phl ファイルの Index.php3 を参照します。 ----------- -------------------------------------- ----------- ---------------
index.php3

/* $Id:index.php3,v 1.3 1999/ 04/14 12:12:32 borud Exp $ */

/* 作成した IMAP ライブラリ関数をロードします */
include("imapfuncs.phl")

m_login($m); ;

#000000 link=#440000 vlink=#440000 alink =#FF00FF>






if ($cmd == "削除") {
m_delete($marked, $m)
}

elseif ($cmd == "表示") {
m_display($n, $m);
}

elseif ($cmd == "作成" || $cmd == "返信") {
m_compose($n, $m);

elseif ($cmd == "送信") {
m_send($to, $subject, $body)
}

else {
m_list($m); ?>








------ -------------------------------------- ----------- ------------------------
imapfuncs.phl


/* $ Id: imapfuncs.phl,v 1.4 1999/04/14 12:12:32 borud Exp $ */

/* 設定可能なパラメータ */


$M_HOST = "ローカルホスト";
$M_MAILSERVER = "transit.fast.no";
$M_COLOR_EVEN = "#AAAAFF"; 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) $メールボックス) , $PHP_AUTH_USER, $PHP_AUTH_PW);

if (! $ Mbox) {om_reject ($ m_realm);

RETURN TRUE
}
global $ mbox, $ php_seell;
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 "


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-> 日付);

$bgcolor = ($i%2 == 0)?$M_COLOR_ODD:$M_COLOR_EVEN;

echo "echo " n";
echo " ";
echo ""
echo "n";
}

echo "n";

echo "
/TH>From< ;/TH>件名日付
gt;gt;$from$subj$date< ;/TD>n";
echo "< /TR>n";
}

if ($num <= 0) {
echo "

";
echo " メールボックスにメッセージはありません";
echo "

";
echo "";
echo "";
echo "";
echo "
n";
echo "n";

true を返します。
}


function 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 を返します。
}

function 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 ""; 

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/316341.html技術記事これは Web メールのサンプル コードです。機能はそれほど強力ではありませんが、主な機能はフォルダーの表示、メールの返信、メールの作成などです。しかし、プログラムには何もありません...

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