私のホームページの中でPHPを使ってメールフォームを作成し、ホームページの読者からのコメントを私のメールアドレスに受け取るようにしました。
自分でこのコードをテストして見た所、ちゃんと自分自身のメールアドレスにテストメールが届きます。ですが、ジャンクメール(ごみメール)も多く届くようになりました。
そこで質問です。私のホームページからのメールと他のメールを自動的に区別したいのですが、どうしたら良いのでしょうか?
今、考えているのは、
私のホームページからのメールに「特定の送り主」のメールアドレス(私のホームページからのメールだという印として)をつける、
受け取る私のメールサイト(例えば hotmail)のフィルターを使ってこの「特定の送り主」以外からのメールを自動的に削除、あるいはブロックする、
というようなものです。ですが、どのようにしたら、
『私のホームページからのメールに「特定の送り主」のメールアドレス(私のホームページからのメールだという印として)をつける』
という事が出来るのでしょうか?
私のメールフォームには読者のメールアドレスを記入する欄も設けてあり、この「読者のメールアドレス」と上記「特定の送り主」メールアドレスを区別しないといけません。
あるいは、私とは別のアイデアでジャンクメールを止める方法はありませんか?
(このために1つ新しく hotmail アカウントを持っているのです。私のホームページからのメール以外は受け取りたくはないのです。)
よろしくお願いします。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
コード見ました。
「sendmail」という関数はPHP標準では存在しないのですが、mail関数かmb_send_mail関数をラップしたものでしょうか。
各引数には何を渡すことになっているのかがわかりませんので、変数名でなんとなく判断します。
とりあえず、$subjectに渡しているであろうユーザが書いた件名は本文(おそらく$message変数でしょうね)にかくとして
<?php
$subject = '■■■お問い合わせあり■■■';
//きめうちで。
?>
このような感じで、記述してやり、本文($message)の内容を、
<?php
$message = "
件名:{$subject}
本文:
{$body}
";
?>
とか、といったような書式にしてやると。
そうすれば、必ず件名は一定で、送られてくるメールの内容には、ユーザが書いた文字が入っているようになるでしょう。
こんな感じでいかがでしょう。
No.5
- 回答日時:
遅くなりましたが、あけましておめでとうございます。
話がそれてしまったようで申し訳ございません。
hotmailのフィルタ機能がどの程度のものか、わかりませんが、
PHPにてhotmailに対してメールを送信するのであれば、
(1)メールのfrom情報は常に一定
(2)メールの件名も常に一定に出来る
ということと思いますので、どちらか(または両方で)フィルターをかけてやればいいのではないでしょうか。
方法としては、フォームに入力されたメール送信者のメールアドレスや、件名としたものをすべてメールの本文に入れてしまって、
メールの件名を「■■■■■お問い合わせ■■■■■」などと固定値にしてやれば、
件名に関してはフィルターが容易になると思います。
メールのfrom(送信者)の情報も、固定値で質問者さんの何らかのメールアドレスが入っていることと思いますので、それでフィルターをかけることも出来ると思います。
別の回答者さんが言っていた特殊なヘッダをくっつける、という方法に関しましては、
ただいまhotmailのアカウントにログインし、フィルターの設定を見てみたところ、
フィルター設定が出来そうにないです。(方法論としては良いと思うのですが。)
ただ、疑問なのが、「ジャンクメールが増えた」という点です。
メールアドレスを直接どこにも公開していないのに増えるというのは何かおかしい気がします。
後はPHPの作りとかによるのでなんともいえないのですが、メール送信機能の部分や、訪問者に記入させるフォームのHTMLとかをここで公開していただくことは出来ませんか?(誰かが作ったフリーウェアとかならそのURLとか)
たびたびの回答を有難うございます。
なるほど、
「フォームに入力されたメール送信者のメールアドレスや、件名としたものをすべてメールの本文に入れてしまって、」
メールの件名や私のメールアドレスでフィルターをかける方法がありますね。まだPHPに慣れていないので多少時間がかかるかもしれませんが、試行錯誤しながら試してみます。
>別の回答者さんが言っていた特殊なヘッダをくっつける、という方法に関しましては、
>ただいまhotmailのアカウントにログインし、フィルターの設定を見てみたところ、
>フィルター設定が出来そうにないです。(方法論としては良いと思うのですが。)
そうなんですよ、特殊なヘッダをつけても hotmail フィルター設定が出来そうにないんですよ、あるいは私がそのやり方を知らないからかもしれませんが。
>ただ、疑問なのが、「ジャンクメールが増えた」という点です。
>メールアドレスを直接どこにも公開していないのに増えるというのは何かおかしい気がします。
はい、不思議ですがマシン(プログラム)が自動的に送っているのだと思います。例えば私がメインに使用しているメールアドレスを abc1@hotmail.com だとして、新たに abc2@hotmail.com や abc3@hotmail.com といったアドレスを新たに作って使用するのであれば、番号が違うだけでほぼ似たアドレスですからマシン(プログラム)も容易くアドレスを探し出してジャンクメールを送りつけるのだと思います。
ちなみにコードは、ファイルネームを send_mail.php として
、、、
elseif(!empty($message) && $errors == 0)
{
$reciever_email = "MyEmailAddress@hotmail.com";
if (sendmail($reciever_email, $from , $from , $reciever_email , $name, $subject , $message))
{
$error = "<b>Successfully Sent.</b><br>";
unset($from);
unset($name);
unset($subject);
unset($message);
$from = "";
$name = "";
$subject = "";
$message = "";
}
else
{
、、、
また、HTML の中に
、、、
<form action='send_mail.php' method='post'>
<table align=center>
<br>
、、、
と記入しています。
繰り返しますが、度々の回答を本当にありがとうございます。感謝しています。
No.4
- 回答日時:
■Captcha認証について
コレは仰るとおり画像認証のことです。
動的に画像を生成して、生成された画像に記述されている文字列を記入させる、って奴ですね。
私が触ったことがあるのは下記のライブラリぐらいです。
http://www.phpcaptcha.org/documentation/quicksta …
クイックスタートページのURLですが、ここの上のほうにあるDownloadからライブラリのダウンロードが出来ます。(バージョンは、1.0.3.1をダウンロードしたほうがよさそうです)
ダウンロードするとパッケージ内にサンプルコードもありますのでこれで実装してみてはいかがでしょう。
回答をありがとうございます。
年末年始のため、返事が大変遅れて申し訳ありません。
「はなし」(回答)が別の方向(画像認証?)に向いているようなので元?に戻したいと思います。
「画像認証」などという高度?な事はわかりませんが、私が望むのは、
『私のホームページからのメールに「特定の送り主」のメールアドレス(私のホームページからのメールだという印として)をつける』か「WEBからのメール送信はメールのヘッダに追加情報を埋め込み、受信するメールで判別する」ことを望んでいます。メールの受信は hotmail で行いたいと思います。
どのようにしたら良いでしょうか?
また新たに下記のような質問を立ち上げました。
「PHPによるWEBからのメール送信で、メールのヘッダに追加情報を埋め込み、受信するメールで判別する方法」
です。(この質問サイトや上記のサイト、どちらに回答をして頂いても私にメールが届くので、どちらに回答されてもかまいません)
No.3
- 回答日時:
メールフォームのソースには貴方のメールアドレスの記載は無いのですよね?
それなら、No.2さんも書いているように画像認証などをしてロボットなどから送られないようにしたほうがいいです。
また、WEBからのメール送信はメールのヘッダに追加情報を埋め込み、受信するメールで判別すればいいです。
回答番号 No.2, No.3 の方、回答を有難うございます。
>メールフォームのソースには貴方のメールアドレスの記載は無いのですよね?
私のPHPの code には私のメールアドレスが書いてありますが、browser (Firefox や Internet Explorer)の View->Page source では見る事が出来ません。(どうしてでしょう?)
>画像認証などをしてロボットなどから送られないようにしたほうがいいです。
どうやったら画像認証をする事が出来るのでしょうか?
>WEBからのメール送信はメールのヘッダに追加情報を埋め込み、受信するメールで判別すればいいです。
はい、この「メールのヘッダに追加情報を埋め込み、、、」のひとつの手段としてメールの送り主のメールアドレス(この場合私のメールフォームからのアドレス)を追加情報として埋め込み、このメールを受信する hotmail でこのアドレスの送り主からだけを受け取り、それ以外は迷惑メールとして自動的に削除したいのです。hotmail では(あるいは他のメーリングシステムでも?)、指定したメールアドレス以外のメールを自動的に消す、無視する事が出来ますから、特定のメールアドレスを指定したらそれ以外のメールは迷惑メールフォルダーに入りますが、すぐに消されて迷惑メールフォルダーはいつも空です。この hotmail のシステムを利用したかったのでこの質問をしたのです。
どうやったら送り主のメールアドレス以外にヘッダに追加情報を埋め込み、受信する hotmail で判別出来ますか?あるいは hotmail に代わる別の方法がありますか?
また、No.2さんからの
>Webサイト上のフォームでスパム対策するなら最低限Captchaくらい実装しようね。
とはどういう事をいうのでしょうか?「Captcha」とは画像認証の事でしょうか?まだまだ web の初心者で申し訳ありません。質問だらけですがよろしくお願いします。
No.2
- 回答日時:
これったPHP一切関係ないよね。
質問者が使っているメーラーの問題だよね。
Webサイト上のフォームでスパム対策するなら最低限Captchaくらい実装しようね。
No.1
- 回答日時:
(1)とにかく予測がつかないような名前でメアドをつくる。
(2)そのメアドは絶対にインターネットにさらさないようにする。
(3)フォームからメールを送付する際にセッションなどをうまくつかう
などでよいかと。
受け側でフィルターするのはなにかと面倒です。
早々の回答を有難うございます。
また、質問ですが、
(2)そのメアドは絶対にインターネットにさらさないようにする。
は、PHPでは私のホームページの page source を簡単に見る事は出来ないと思いますので、私のメールアドレスを特定する事は難しいと思います。あるいは別の方法で私のメールアドレスを読者から隠す事が出来るのでしょうか?
(3)フォームからメールを送付する際にセッションなどをうまくつかう。
セッションをうまく使うとはどういう事でしょうか?私はまだまだPHPの初心者です。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Google+ ブランド品偽物サイトからのメールを拒否する方法 批判覚悟で投稿します。 とあるサイトからブランド品を 2 2023/01/11 21:49
- ドメイン・サーバー・クラウドサービス Google Workspaceでの独自ドメインのメール送信について 2 2022/05/31 19:48
- Outlook(アウトルック) 未読ならば受信トレイから削除する 2 2023/02/12 19:21
- その他(メールソフト・メールサービス) Windows10付属のメール、なぜ設定が劇的に簡単になったのか? 1 2022/12/16 13:14
- Gmail 過去のGoogleアカウントのログイン 1 2022/08/09 20:15
- Outlook(アウトルック) outlookのメール設定で困っています 3 2023/05/26 09:57
- Yahoo!メール yahooメール使用できなくなった。 1 2022/07/05 11:45
- その他(暮らし・生活・行事) 市役所公式ホームページからフォームにメールアドレスと電話番号を入力し問い合わせを行い、後日電話がかか 4 2023/02/13 19:25
- その他(メールソフト・メールサービス) 大阪市プレミアム付き商品券のweb申し込みで楽天モバイルのEメールだと返信メールが届かない 2 2022/09/19 17:08
- ビジネスマナー・ビジネス文書 病院説明会のメールについての質問です。 ホームページにて病院説明会には下記に連絡くださいと2人のメー 2 2022/06/01 00:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaMailでエラーメールの通知
-
メールの特定にphpを使っている...
-
submitボタンの二重送信について
-
AccessのDoCmd.SendObjectについて
-
コマンドプロンプトで添付ファ...
-
存在しないメールアドレスかど...
-
メールアドレスの存在確認はで...
-
PHPでメール送信する際、SMTPを...
-
二重投稿防止方法
-
require_once で読み込まれたか?
-
リンク先を隠す方法はないでし...
-
htmlの書き換え
-
拡張子php画像をjpg画像等に変...
-
symfonyのCriteriaで実行すると...
-
jar化すると画像が消える
-
Pythonで画像の読み込みが上手...
-
pear パッケージインストールで...
-
cakephp views/pagesの中にイ...
-
php5,MySQL5で文字化けが起こる
-
PHPとhtmlの関係
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードプレス、Contact Form 7...
-
VB6にてメールを送信する方法
-
存在しないメールアドレスかど...
-
コマンドプロンプトで添付ファ...
-
VBでメールを送る時のSMT...
-
問い合わせ完了ページでの二重...
-
送信日時を指定してメールを送...
-
一定時間毎に同じ動作を繰り返...
-
メールアドレスの存在確認はで...
-
$_SERVER{'HTTP_X_UP_SUBNO'}取...
-
HPの更新をしたら自動でメール...
-
mail関数を使うと遅いので
-
Bookを閉じて保存した時のみ実...
-
二重投稿防止方法
-
ブラウザの更新ボタン
-
AccessのDoCmd.SendObjectについて
-
mb_send_mail関数により送信さ...
-
リファラが取得できない?
-
javamailで220の応答が遅い
-
<HTML>~入る タグ が無いから ...
おすすめ情報