受信メールの宛先がおかしいバグ!undisclosed-recipients表記の原因と対策!
ウェブ開発をしている人なら一度はやったことはあるはずの「メールフォーム」作成作業。
私も会社や個人でちょっとしたお問い合わせフォームを
HTMLとPHP、JavaScriptを使って何度も作ったことがあります。
簡易的な申請などに利用していたりしますが、
ついこの間、会社のお問い合わせフォームから送られたメールの宛先(To)の書式がおかしくなっていたことに気が付きました。
受信したメールの宛先にundisclosed-recipientsという表記
本来普通にメールを送信する際、宛先に送信先のメールアドレスを指定すると思います。
受信したメールを見ると、もちろん宛先欄には自分のメールアドレスもしくは自分とわかる表記があるはずです。
ところが先日お問い合わせフォームで受信したメールの宛先が
「undisclosed-recipients:;」となっており、これは何?となりましたね。
調査してもメールはSMTPサーバから正常に送信され、宛先のメールアドレスに到達していました。
ところが受信先のメールソフトでそのメールの宛先を確認するとなぜか「undisclosed-recipients:;」と表示されてしまいます。
undisclosed-recipientsの意味とは?
この英語について調べると「undisclose」は知られないという意味。
「recipient」は受取人という意味でした。
要するにundisclosed-recipientsは「知られない受取人」、「受取人が不明」ということになりますね。
ここまでくるとピンと来る人もいると思います。
「受取人=宛先」「宛先=To」つまりは、「メールのヘッダ情報のToが指定されていない」ことが原因っぽいです。
undisclosed-recipientsが表示される原因を調査
これは社内で使用しているお問い合わせフォーム用のプログラムが怪しいと踏んだ私はcgiのプログラムを調べてみました。
すると、なぜかTo指定をせず、CCに宛先のメールアドレスが指定されていて、
そのままメール送信を行なうという処理になっていました。
たまたま仕様がToとCCが同じ宛先アドレスを指定する動きになっていたために、
メール自体は問題なく送受信できていたようです。
原因はメール送信時のプログラム処理でヘッダのToにメールアドレスを付与し忘れていたというものでした。
Toなしで送信されたメールを開く際に、メールソフトによってはこの「undisclosed-recipients」という表記が出てしまうんですね。
というか今まで試したことはなかったけど、
To指定せずにCCやBCCにだけメールアドレスを指定するだけでもメール送信ができてしまいました。
とりあえず「undisclosed-recipients」が表示されたら、Toを疑いましょう。
最新記事 by よっき (全て見る)
- 「圧着」と「圧接」の違い!コネクタを使った効率的な配線作業! - 2019年10月26日
- 夏の暑さ対策は大丈夫?冷却性能抜群のおすすめCPUクーラー!メモリに干渉しない最強の商品を紹介! - 2018年5月1日
- 自作PC弐号機のケースを換装!SilverStone製のミニタワーで冷却性とかっこよさを追求! - 2018年3月11日
スポンサードリンク