Web Memo/php_mail
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
*PHPでMail処理 [#jf69e08b]
RIGHT:更新日&lastmod();
mailを受信したときそのあて先でコマンドを実行しメール処理...
***aliases [#yf23f1e1]
/etc/postfix/aliasesに以下のように指定
phptest: "|/var/lib/pgsql/comingout/php/test.php
以下のコマンドも実行
# newaliases
***phpの記述 [#r7201680]
''メール受信処理''~
メールの内容ははパイプで送られてくるのでそれをphpで読み込む
''test.php''
#! /usr/bin/php
<?php
while(!feof(STDIN)) {
// $lndata = fread(STDIN, 4096);
$lndata = fgets(STDIN, 4096);
mb_internal_encoding("JIS");
$lndata = mb_convert_kana($lndata,'rn');
// $lndata = ereg_replace(".", ".", $lndata);
// echo $lndata;
// 送り元の取り出し
//addressが okada@abc-u.ac.jp の場合
if ( ereg("^From: (.*)@.*", $lndata, $reqs)){
$name = $reqs[1];
}
//addressが 岡田 <okada@abc.ac.jp>の場合
if ( ereg("^From: .*<(.*)@.*>", $lndata, $reqs)){
$name = $reqs[1];
}
// 日付の取り出し
if ( ereg("^Date: (.* \+.*)\n$", $lndata, $reqs)){
$date = $reqs[1];
}
// Toの取り出し
if ( ereg("^To: (.*)@.*$", $lndata, $reqs)){
$class = $reqs[1];
}
?>
''メール送信処理''~
function send_mail($name,$msg,$subject){
//EUCからISO-2022-JPに変換
$subject = mb_convert_encoding($subject, "ISO-2022-JP...
//ISO-2022-JPをMIMEでbase64=>"B"に変換
$subject = mb_encode_mimeheader($subject, "ISO-2022-J...
$fp = popen("/usr/bin/nkf -m0 | /usr/sbin/sendmail -o...
fwrite($fp, "From: comingout@abc.ac.jp\n");
fwrite($fp, "Reply-To: okada@abc.ac.jp\n");
fwrite($fp, "To: $name@abc.ac.jp\n");
fwrite($fp, "Subject: " . $subject ."\n");
fwrite($fp, "Mime-Version: 1.0\n");
fwrite($fp, "Content-Type: text/plain; charset=ISO-20...
fwrite($fp, $msg . "\n");
pclose($fp);
}
''PHP関数でメール送信''
こちらのほうがいいかも
SubjectのMIME化は関数がしてくれるので本文の元の文字コート...
function send_mail2($re_email,$msg,$subject){
mb_language("japanese");
mb_internal_encoding("UTF-8");
// $subject = mb_convert_encoding($subject, "ISO-2022...
// $subject = mb_encode_mimeheader($subject, "ISO-202...
$header = "From: okada@ism21.net\n";
$header = $header ."Reply-To: okada@ism21.net\n";
$to = $re_email;
mb_send_mail($to,$subject,$msg,$header );
}
$subject = "○○を通過";
$jikoku = date("H:i");
$msg = "件名の場所を" . $jikoku . "に通過しました";
$re_email ="okada@abc-u.ac.jp";
send_mail2($re_email,$msg,$subject);
***デバッグ(動作確認) [#b6aa52d6]
パイプ入力されるのでメールソースをファイルに入れて
''maildata''~
From okada@abc.ac.jp Mon Oct 20 11:36:03 2008
Return-Path: <okada@abc.ac.jp>
X-Original-To: phptest@[10.99.99.173]
Delivered-To: phptest@[10.99.99.173]
Received: from mail.abc.ac.jp (mail.abc.ac.jp [192.244.7...
by db-bakup.abc.ac.jp (Postfix) with ESMTP id 68...
for <phptest@[10.99.99.173]>; Mon, 20 Oct 2008 1...
Received: from www.abc.ac.jp (www.abc.ac.jp [192.244.75....
by mail.abc.ac.jp (Postfix) with SMTP id 560C41C...
for <phptest@[10.99.99.173]>; Mon, 20 Oct 2008 1...
Date: Mon, 20 Oct 2008 11:36:02 +0900(JST)
Message-ID: <20081020113602.2a5e.okada@abc-u.ac.jp>
From: 岡田 <okada@abc.ac.jp>
To: ouyou_x@[10.99.99.173]
Subject: TEST
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
X-Mailer: WebMailer Ver0.954 on Apache/2.0.55 (Unix) wit...
0; Windows NT 6.0; WOW64; SLCC1; .NET CLR 2.0.50727; .NE...
33
岡田
確認実行
$cat maildata | ./test.php
終了行:
*PHPでMail処理 [#jf69e08b]
RIGHT:更新日&lastmod();
mailを受信したときそのあて先でコマンドを実行しメール処理...
***aliases [#yf23f1e1]
/etc/postfix/aliasesに以下のように指定
phptest: "|/var/lib/pgsql/comingout/php/test.php
以下のコマンドも実行
# newaliases
***phpの記述 [#r7201680]
''メール受信処理''~
メールの内容ははパイプで送られてくるのでそれをphpで読み込む
''test.php''
#! /usr/bin/php
<?php
while(!feof(STDIN)) {
// $lndata = fread(STDIN, 4096);
$lndata = fgets(STDIN, 4096);
mb_internal_encoding("JIS");
$lndata = mb_convert_kana($lndata,'rn');
// $lndata = ereg_replace(".", ".", $lndata);
// echo $lndata;
// 送り元の取り出し
//addressが okada@abc-u.ac.jp の場合
if ( ereg("^From: (.*)@.*", $lndata, $reqs)){
$name = $reqs[1];
}
//addressが 岡田 <okada@abc.ac.jp>の場合
if ( ereg("^From: .*<(.*)@.*>", $lndata, $reqs)){
$name = $reqs[1];
}
// 日付の取り出し
if ( ereg("^Date: (.* \+.*)\n$", $lndata, $reqs)){
$date = $reqs[1];
}
// Toの取り出し
if ( ereg("^To: (.*)@.*$", $lndata, $reqs)){
$class = $reqs[1];
}
?>
''メール送信処理''~
function send_mail($name,$msg,$subject){
//EUCからISO-2022-JPに変換
$subject = mb_convert_encoding($subject, "ISO-2022-JP...
//ISO-2022-JPをMIMEでbase64=>"B"に変換
$subject = mb_encode_mimeheader($subject, "ISO-2022-J...
$fp = popen("/usr/bin/nkf -m0 | /usr/sbin/sendmail -o...
fwrite($fp, "From: comingout@abc.ac.jp\n");
fwrite($fp, "Reply-To: okada@abc.ac.jp\n");
fwrite($fp, "To: $name@abc.ac.jp\n");
fwrite($fp, "Subject: " . $subject ."\n");
fwrite($fp, "Mime-Version: 1.0\n");
fwrite($fp, "Content-Type: text/plain; charset=ISO-20...
fwrite($fp, $msg . "\n");
pclose($fp);
}
''PHP関数でメール送信''
こちらのほうがいいかも
SubjectのMIME化は関数がしてくれるので本文の元の文字コート...
function send_mail2($re_email,$msg,$subject){
mb_language("japanese");
mb_internal_encoding("UTF-8");
// $subject = mb_convert_encoding($subject, "ISO-2022...
// $subject = mb_encode_mimeheader($subject, "ISO-202...
$header = "From: okada@ism21.net\n";
$header = $header ."Reply-To: okada@ism21.net\n";
$to = $re_email;
mb_send_mail($to,$subject,$msg,$header );
}
$subject = "○○を通過";
$jikoku = date("H:i");
$msg = "件名の場所を" . $jikoku . "に通過しました";
$re_email ="okada@abc-u.ac.jp";
send_mail2($re_email,$msg,$subject);
***デバッグ(動作確認) [#b6aa52d6]
パイプ入力されるのでメールソースをファイルに入れて
''maildata''~
From okada@abc.ac.jp Mon Oct 20 11:36:03 2008
Return-Path: <okada@abc.ac.jp>
X-Original-To: phptest@[10.99.99.173]
Delivered-To: phptest@[10.99.99.173]
Received: from mail.abc.ac.jp (mail.abc.ac.jp [192.244.7...
by db-bakup.abc.ac.jp (Postfix) with ESMTP id 68...
for <phptest@[10.99.99.173]>; Mon, 20 Oct 2008 1...
Received: from www.abc.ac.jp (www.abc.ac.jp [192.244.75....
by mail.abc.ac.jp (Postfix) with SMTP id 560C41C...
for <phptest@[10.99.99.173]>; Mon, 20 Oct 2008 1...
Date: Mon, 20 Oct 2008 11:36:02 +0900(JST)
Message-ID: <20081020113602.2a5e.okada@abc-u.ac.jp>
From: 岡田 <okada@abc.ac.jp>
To: ouyou_x@[10.99.99.173]
Subject: TEST
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
X-Mailer: WebMailer Ver0.954 on Apache/2.0.55 (Unix) wit...
0; Windows NT 6.0; WOW64; SLCC1; .NET CLR 2.0.50727; .NE...
33
岡田
確認実行
$cat maildata | ./test.php
ページ名: