私はこれに苦労してきました。私が何をしても、CodeIgniter(v 2.1.3)で生成した電子メールメッセージに、新しい行、空の行、または行の戻りを表示できません。
私のコントローラー機能内:
$message = "Line one.\r\n\r\n" .
"Line two.\r\n\r\n" .
"Line three.\r\n\r\n";
$subject = "My Subject Line";
$this->load->library('email');
$config['newline'] = "\r\n"; // does not matter when I leave this out
$config['crlf'] = "\r\n"; // does not matter when I leave this out
$this->email->initialize($config);
$this->email->from('system@mydomain.com', 'my system');
$this->email->to('me@gmail.com');
$this->email->subject($subject);
$this->email->message($message);
$this->email->send();
echo $this->email->print_debugger();
上に示したもの以外は、設定やデフォルトを変更していません。
メッセージの「ソース」は、このprint_debugger()
出力のようになります...
User-Agent: CodeIgniter
Date: Sun, 24 Mar 2013 17:46:47 -0400
From: "my system"
Return-Path:
Reply-To: "system@mydomain.com"
X-Sender: system@mydomain.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <xxxxxx@mydomain.com>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="B_ALT_514f74472bd26"
=?utf-8?Q?My_Subject_Line?=
This is a multi-part message in MIME format.
Your email application may not support this format.
--B_ALT_514f74472bd26
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Line one.
Line two.
Line three.
--B_ALT_514f74472bd26
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Line one.
Line two.
Line three.
--B_ALT_514f74472bd26--
ただし、問題は、実際のメッセージがすべての電子メールクライアントで次のように表示されることです。
Line one.Line two.Line three.
なぜ私"\r\n"
は無視されているのですか?
html
これは非常に単純なメッセージであり、オプション を使用する必要はありません。CIのドキュメントによると、mailtype
設定はデフォルトでになっているはずtext
です。
ここでどこが間違っているのですか?