質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.62%

  • PHP

    19904questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

メールヘッダーの仕様について、前行の続きであることを示す「空白文字」とはなにか?

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 887

yosida001

score 47

はじめまして。
只今PHPを利用してPop3で受信したメールデータのメールヘッダー文字列をパラメータ毎に分割する関数をつくろうとしています。
とりあえずメールデータからメールヘッダー部分を切り出すことには成功しているのですが、
メールヘッダーは「先頭文字が空白文字ならば、前の行の続きとする」という仕様があると見聞きしたため、その言葉にあわせて前の行と連結するという処理を行いたいと思っています。

そこで質問なのですが、この空白文字というのは、一体どこまでを含むのでしょうか?

PHPのtrim()関数を見たところ、空白文字とは半角スペース、タブ、改行、リターン、NULLバイト、垂直タブを含むようですが、メールヘッダーに当てはめると、少なくとも改行とリターンは違うとは推測できます、しかしそれ以外が先頭に来たパターン全てを空白文字としていいのかは分かりません。

もしもメールヘッダーの空白文字についての定義を知っている方がいれば教えてくださいm(_ _)m
それと個人の力では見つけられなかったため、もしもメールヘッダーの形式について定義を詳細に書いてあるサイト等あれはURLを教えてくだされば嬉しいです。(「定義はここに書いてあるからとりあえず読め!」って程度でも問題無いです
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

ヘッダ折り返しの定義は以下のものだと思います。
https://tools.ietf.org/html/rfc2822#section-2.2.3
https://tools.ietf.org/html/rfc2822#section-3.2.3

https://tools.ietf.org/html/rfc2822#section-2.2.2
この記述を見る限りでは、ASCIIコード32と9のようです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2014/12/12 12:44

    詳細ページまで・・・!ありがとうございます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.62%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    PHPでお問い合わせフォームを作る上でのセキュリティ対策について

    お問い合わせフォームを作ろうと考えていて、その上でセキュリティについて調べたら、 メールヘッダインジェクションという送信するメールを改竄する攻撃方法がでてきました。 そこで、それ

  • 解決済

    スクリプト挿入攻撃とXSSの違いについて

    PHPでWebアプリケーションを作ろうと考えているため、 Webアプリケーションのセキュリティの学習をはじめたところです。 そこでスクリプト挿入攻撃と、XSSの違いがピンとこない

  • 解決済

    練習に向く無料のレンサバなどあれば教えてください。

    lv9でPHP工房の問い合わせフォーム設置の練習をしたのですが、確認画面、送信画面、 その後のトップページに戻るまで問題なくできているのですが、メールがホットメールにもヤフーメー

  • 解決済

    携帯に弾かれないメールの送信方法(PHP)

    前提・実現したいこと PHPにて作成中のシステムの1部にユーザーからの操作があった際にメール送信を行う機能を付けております。(通販の注文確認自動メールのようなもの) PHP

  • 受付中

    PUT メソッドとは

    PUTメソッドについて調べているのですが、いまいちしっくり理解できません。 POSTとはどういった違いあって、どういう場面で使用するのかなど、噛み砕いて説明できる方がおりましたら

  • 解決済

    mb_convert_encoding で文字エンコーディングを変換したときに、メーラー側ではその一...

    現在、メールフォームの文字コードについて勉強しております。 入力、確認、送信と画面を遷移するメールフォームを作成しました。 送信画面のコードを末尾に記載致します。

  • 解決済

    fgetcsv()

    下記のサイトを見ていたのですがこのコードで記述されているfgetcsvの使われ方はどのような意味なのでしょうか? # 一時ファイルのデータを再度CSVとして読み込む while

  • 受付中

    [PHP]複数のメードアドレスへ一斉送信

    ユーザーが1万人いるサイトを想定して、管理者が各ユーザーに一斉にお知らせメールを送る機能を実装したいと思います。そこで、ただ単純にmb_send_mail()関数を利用して、データ

同じタグがついた質問を見る

  • PHP

    19904questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • トップ
  • PHPに関する質問
  • メールヘッダーの仕様について、前行の続きであることを示す「空白文字」とはなにか?