こんにちは よく携帯サイトで空メールシステムを見かけます 私も会員制の掲示板を作っていますが アドレスを打ち間違えて 登録する人がたくさんいます。 そこで 空メールを送信してもらいメールが届いたら .forwordでphpへ送り 定型文の後ろに取得したアドレス例)"http://xxxx/touroku.php?M=R&S=1?メールアドレス"
をつけて返信できるようなのを考えています。 わかりづらい質問で恐縮ですが どなかた力を貸してください。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
"| exec hoge.php"のようにすれば?
自分もLinuxでやってみましたが、"| hoge.php"はできなかったです。C言語でSTDINからの入力を./test.txtに保存する「mailsave」プログラムを作って
"| ./mailsave"
使ってみてもだめだったですけど
"| exec ./mailsave"
のようにできました。
No.4
- 回答日時:
そうですか・・・何か設定があったような気もしますが
すぐにでてこないのでとりあえず
メールがトリガーにならないのであれば、メールボックスにためておいて
imap系の関数でメールを読み取る設定をして、cronで定期的に
処理をすることになるでしょう。
http://www.php.net/manual/ja/ref.imap.php
この回答への補足
.forwordにこうやって記述したら
"|cat > /home/hvn/test.txt"
test.txt にちゃんと書き込まれていました。
メールがトリガーになっているのは確認できました
でも "|/home/hvn/hoge.php"にするとダメみたいです
hoge.phpの記述の問題でしょうか?
No.3
- 回答日時:
とりあえずコツコツやってください。
まずは、
.forwardに
"|cat > test.txt"
として、メールがトリガーになるかどうか確認するあたりから・・・。
そのあとは自分のホームディレクトリにhoge.shをおいて
"|hoge.sh"
として
#!/bin/sh
echo "test" > "test.txt"
など、メールがスクリプトが動くことを確認します。
あとはphpのスクリプトが動くかどうか確認するなど、とにかく
やってみてみるしかないです
この回答への補足
.forwardに
"|cat > test.txt"
として、メールがトリガーになるかどうか確認するあたりから・・・。
試してみました どうもメールがトリガーにならないみたいです。
初心者の私に いろいろアドバイスありがとう 感謝しています
.forwordに
"| /usr/local/bin/php /home/アカウント/hoge.php"
hoge.phpで
#!/usr/local/bin/php
<?php
// main
{
$stdin = fopen("php://stdin", "r");
if (!$stdin) {
exit();
}
$email = "";
while ($line = fgets($stdin)) {
$line = trim($line);
// メールヘッダ部が終了したらループ終了
if (!$line || $email){
break;
}
// 送信元メールアドレスの取得
if (eregi("^from:", $line)){
$email = getEmail($line);
}
}
// メールアドレスが取得できなければ終了。(getEmailに問題アリ)
if (!$email){
exit();
}
autoMail($email);
}
function autoMail($email)
{
// ここで空メールを送信元に対して送信します。
// 送信プログラムは省略します。
mail("$email", "登録はココから", "ここから登録して下さい\nhttp://url;");
}
function getEmail($line)
{
if (eregi("(.*)\<(.*)\>", $line, $tmp)){
$from = $tmp[2];
}
return strtolower(trim($from));
}
?>
で何とか空メール送信ができるようになりました。
でもパソコンから空メールを打つとOKなのですが携帯から空メールを打ってもメールが送られてこないです なぜでしょうか??
初心者の私でもここまでがんばれたのは皆さんのおかげです^^
No.2
- 回答日時:
.forwardと同じフォルダ上に、自分でつくってください。
そのhoge.phpに
#!/usr/local/php/bin/php -f
<?PHP
$data=fopen("php://stdin", "r");
print $data;
?>
と書いて保存してください。
もちろん今回はスクリプトで動かすので、hoge.phpに実行属性が必要です。
この質問内容を解決するにはおそらく新たにたくさんのことを覚える
必要があるので、自分である程度しらべようという向上心がないなら
手を出さないほうがよいと思いますよ。
http://www.google.co.jp/search?q=.forward+%E8%87 …
この回答への補足
いろんなところを見て自分なりに調べていますが どうしてもできません やっぱり初心者には無理なのでしょうか・・
hoge.phpに
#!/usr/local/bin/php -q
<?php
// main
{
$stdin = fopen("php://stdin", "r");
if (!$stdin) {
exit();
}
$email = "";
while ($line = fgets($stdin)) {
$line = trim($line);
// メールヘッダ部が終了したらループ終了
if (!$line || $email){
break;
}
// 送信元メールアドレスの取得
if (eregi("^from:", $line)){
$email = getEmail($line);
}
}
// メールアドレスが取得できなければ終了。(getEmailに問題アリ)
if (!$email){
exit();
}
autoMail($email);
}
function autoMail($email)
{
// ここで空メールを送信元に対して送信します。
// 送信プログラムは省略します。
}
function getEmail($line)
{
if (eregi("(.*)\<(.*)\>", $line, $tmp)){
$from = $tmp[2];
}
return strtolower(trim($from));
}
?>
と書いてもCommand died with status 127: "hoge.php". Command
output: sh: line 1: hoge.php: command not found
になります
No.1
- 回答日時:
.forwardやalisasでプログラムに流します。
たとえば.forwardなら
"| hoge.php"
とするれば渡せます。
プログラム側では標準入力を以下のようにとります
#!/usr/local/php/bin/php -f
<?PHP
$data=fopen("php://stdin", "r");
?>
この回答への補足
hoge.php って何処にあるんですか?
Command died with status 127: "hoge.php". Command
output: sh: line 1: hoge.php: command not found
空メール送信したら こんなのがでました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Google+ ブランド品偽物サイトからのメールを拒否する方法 批判覚悟で投稿します。 とあるサイトからブランド品を 2 2023/01/11 21:49
- その他(パソコン・スマホ・電化製品) 私のメールアドレスを知らない知り合いから、スマホにEメールがきたのですが、宛先は私の携帯番号、差出人 3 2022/10/26 05:53
- その他(メールソフト・メールサービス) 大阪市プレミアム付き商品券のweb申し込みで楽天モバイルのEメールだと返信メールが届かない 2 2022/09/19 17:08
- docomo(ドコモ) 携帯 arrows we の操作 4 2023/03/29 18:53
- その他(スマートフォン・携帯電話・VR) 携帯メール・アドレスのドメインを教えてください 4 2023/07/13 10:29
- 求人情報・採用情報 今日、ホテルのアルバイトに、タウンワークから応募しました。 すると、会社からGメールが届き、事前登録 1 2022/03/31 23:40
- Gmail 10年以上使ってるGoogleアカウント (gmail、YouTube)に、久しぶりにパソコンからロ 3 2022/07/03 03:43
- 会社・職場 アドレスの間違いについて 仕事で、お客さんから受け取ったメールが送信エラーとなり届かなかったので電話 3 2022/12/05 15:52
- 迷惑メール・スパム ソフトバンク関係の方にお伺います。いわゆる迷惑メールが一日あたり100件位送られきます。 迷惑メール 2 2023/05/24 19:54
- au(KDDI) auからUQモバイルに変えたのですが、受信メール設定のページが見つかりません。 受信するメールアドレ 3 2022/04/07 22:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.htaccessにphp_valueが使用できな
-
フォームで戻った際に入力済み...
-
<A href ~ と一緒に値を渡すには
-
Windows版でXdebugが認識されま...
-
服にかいた油性ペンがにじまな...
-
PHPからMSSQLへの接続結果の文...
-
HYのAM11:00のラップの部分の歌...
-
phpからoutlook起動
-
テキストエリアの内容がメール...
-
11万円くらい以下のゲーミング...
-
テレメールとは?
-
複数ページのセッションの送り方
-
phpでの画像ランダム表示方法
-
リンクのクリック数をカウンタ...
-
産業別一人あたり人件費
-
空メールシステムを作りたい
-
東京都の高校の九段高校ってど...
-
【PHP】tmp_nameの命名規約につ...
-
Twitter Oauth認証がエラーにな...
-
フォントの色を変えるには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
これの対応OSを教えて下さい。p...
-
フォームで戻った際に入力済み...
-
.htaccessにphp_valueが使用できな
-
*.php、*.php3、*.phtmlの違い
-
<A href ~ と一緒に値を渡すには
-
HYのAM11:00のラップの部分の歌...
-
PEAR(Image_QRCode)のエラー
-
さくらインターネットでメール...
-
PHPINFOが見えない
-
PEAR installでエラー
-
リンクのクリック数をカウンタ...
-
phpからoutlook起動
-
PHPからMSSQLへの接続結果の文...
-
libphp5.so がないと?
-
phpの中でphpを書けないか
-
【PHP】tmp_nameの命名規約につ...
-
Apache 2.4.0でphp5.3を使うには?
-
header(Location:~)で$_SESS...
-
phpエラーメッセージ
-
PHPでの画面遷移について
おすすめ情報