dongqiao9015 2013-03-24 22:17
浏览 24
已采纳

我无法在CodeIgniter纯文本电子邮件中获得行返回

I've been struggling with this one. No matter what I do, I cannot get new lines, empty lines, or line returns to show up in any email message I generate with CodeIgniter (v 2.1.3).

Within my Controller function:

$message = "Line one.

" .
"Line two.

" .
"Line three.

";

$subject = "My Subject Line";

$this->load->library('email');                  
$config['newline'] = "
";  // does not matter when I leave this out
$config['crlf'] = "
";     // 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();

I've changed no settings or defaults, other than what I've shown above.

The "source" of the message looks just like this print_debugger() output...

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--

HOWEVER, the problem is that the actual message is rendering in all email clients as the following.

Line one.Line two.Line three.

Why are my " " being ignored?

This is a very simple message and I'd prefer to not have to use any html options. As per CI documentation, the mailtype preference should be defaulting to text.

Where am I going wrong here?

  • 写回答

2条回答 默认 最新

  • dreamworld2007 2013-03-24 22:37
    关注

    The CodeIgniter 2 documentation appears to be wrong.

    On this page, it contains a listing of available preferences.

    Note this one, mailtype...

    Preference     Default Value      Options       
    mailtype       text               text or html 
    

    Adding the following setting fixed this problem, so clearly it's not the "default value"...

    $config['mailtype'] = 'text';
    

    My thread at CI asking about this discrepancy in the docs:

    http://ellislab.com/forums/viewthread/234296/


    EDIT:

    Entire problem was being caused by the following code within my Ion Auth configuration file...

    $config['email_config'] = array(
        'mailtype' => 'html',
    );
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看