2016-06-16 11 views
3

大きなリモートプロジェクトのモジュールでCodeigniterに取り組んでいます。私は" r n"は通常の電子メールでcodeigniterに問題がありますか?

var $newline  = "\r\n"; 

libraries/Email.php

から下の行

var $newline  = "\n"; 

を変更した場合にのみ働いて私のメール機能は、私がMIME type errorを避けるために、これを変更しました。私の質問はこれはすでに動作している他のメールに影響しますか?

すべてのリモート開発者に連絡することはできません。どんな助けでも感謝します。

+1

'Email.php'の内容は不明ですが、手動で電子メールを作成しないようにしてください。それを正しくすることはほとんど不可能であり、努力する価値はありません。あなたが見つけることができる任意の主要なサードパーティのライブラリはあなたのためにそれを行うことができます。ところで、 'var'は古いPHP/4のOOP構文に属しています。適切なスコープ区切り文字(public、protected、private)を使用してください。 –

+0

プレーンテキストの電子メールでMS-Windowsスタイルの改行シーケンスを使用すると、他のオペレーティングシステムのすべての通常の電子メールクライアントで1行おきに空白が表示されます。それは恐ろしく見える。 – arkascha

+2

RFC仕様(https://tools.ietf.org/html/rfc2045)では、\ r \ n(CRLF)は、** MIMEヘッダー**の行末を終了する**正しい**方法ですPostfixなどの特定のメールサーバは、OS固有のものとしてターミネータを受け取ることを期待しています。そして、電子メールを構築するときに実際の行末を設定することになります。したがって、これらがMIMEヘッダーの行終端か電子メールコンテンツの終端か、実際に送信を行っているメールサーバーかによって異なります。 – CD001

答えて

1

質問は下記の読みの結論にCodeIgniterの基準とは何の関係もありませんし、あなたの質問にお答えすることは、すでにあなたはブラウザ

渡ってそれをテストすることができ作業している他のメールの問題を作成しないでください NOでなければなりません'\ rをする\ n' を

ここで、より詳細な回答たとえば Difference between \n and \r?

は、Windows上で、あり、WRI:Windowsのための2つの文字列がある間

は '\ n' はUNIXでの改行を書き込み文字 '\ n'は実際には2文字のシーケンス '\ r \ n'を出力します(また、ファイルを読み込むときに '\ r \ n'は単一の\ n文字に変換されます)。

関連する問題