スポンサードリンク


受信メールの宛先がおかしいバグ!undisclosed-recipients表記の原因と対策!

    ウェブ開発をしている人なら一度はやったことはあるはずの「メールフォーム」作成作業。

    私も会社や個人でちょっとしたお問い合わせフォームを
    HTMLとPHP、JavaScriptを使って何度も作ったことがあります。

    簡易的な申請などに利用していたりしますが、
    ついこの間、会社のお問い合わせフォームから送られたメールの宛先(To)の書式がおかしくなっていたことに気が付きました。

     

    受信したメールの宛先にundisclosed-recipientsという表記

    本来普通にメールを送信する際、宛先に送信先のメールアドレスを指定すると思います。

    受信したメールを見ると、もちろん宛先欄には自分のメールアドレスもしくは自分とわかる表記があるはずです。

    受信メール undisclosed-recipients

    ところが先日お問い合わせフォームで受信したメールの宛先が
    undisclosed-recipients:;」となっており、これは何?となりましたね。

    調査してもメールはSMTPサーバから正常に送信され、宛先のメールアドレスに到達していました。

    ところが受信先のメールソフトでそのメールの宛先を確認するとなぜか「undisclosed-recipients:;」と表示されてしまいます。

     

    undisclosed-recipientsの意味とは?

    この英語について調べると「undisclose」は知られないという意味。

    「recipient」は受取人という意味でした。

    要するにundisclosed-recipientsは「知られない受取人」、「受取人が不明」ということになりますね。

    ここまでくるとピンと来る人もいると思います。
    「受取人=宛先」「宛先=To」つまりは、「メールのヘッダ情報のToが指定されていない」ことが原因っぽいです。

     

    スポンサードリンク

     

    undisclosed-recipientsが表示される原因を調査

    これは社内で使用しているお問い合わせフォーム用のプログラムが怪しいと踏んだ私はcgiのプログラムを調べてみました。

    すると、なぜかTo指定をせず、CCに宛先のメールアドレスが指定されていて、
    そのままメール送信を行なうという処理になっていました。

    たまたま仕様がToとCCが同じ宛先アドレスを指定する動きになっていたために、
    メール自体は問題なく送受信できていたようです。

    undisclosed-recipients バグ

    原因はメール送信時のプログラム処理でヘッダのToにメールアドレスを付与し忘れていたというものでした。

    Toなしで送信されたメールを開く際に、メールソフトによってはこの「undisclosed-recipients」という表記が出てしまうんですね。

    というか今まで試したことはなかったけど、
    To指定せずにCCやBCCにだけメールアドレスを指定するだけでもメール送信ができてしまいました。

    とりあえず「undisclosed-recipients」が表示されたら、Toを疑いましょう。

      The following two tabs change content below.
      よっき プロフィール画像
      パソコンが大好きな青年。職業はプログラマ/SE。 フリーランスとしてウェブサイトの構築・保守の業務に従事。専門学校とパソコンスクールで講師も担当。幼少期からパソコンが大好きで、趣味がそのまま仕事に転じた。自作PCの魅力に惹かれたのは学生時代の頃。自作PC専門ブログで、お得な情報を紹介しています。

      スポンサードリンク


      コメントを残す




      CAPTCHA


      このページの先頭へ