php - CodeIgniter 的电子邮件编码不正确

标签 php codeigniter email encoding codeigniter-2

这个问题不太可能对 future 的访客有帮助;它只与一个小的地理区域、一个特定的时刻或一个非常狭窄的情况相关,通常不适用于互联网的全局受众。如需帮助使这个问题更广泛地适用,visit the help center .




9年前关闭。




现在数据库中的数据如下所示:

Hej [indtaster_navn]<br><br>I forbindelse med noget på ændring af xxxxxx er der behov for opfølgning på:<br><br>- xxxx<br>- xxxx<br>- xxxx<br><br>Jeg vil gerne have en tilbagemelding, når du har set på ovenstående.<br/><br/>Venlig hilsen<br/>[behandler_navn]<br/>TestGuy<br/><br/>[lokal_tlf] - lokal<br>00 00 00 00 - telefon<br>[behandler_email]<br><br>This S<br>Something<br>Transformer 1234<br>3434 BubbleJ<br><br>​​​​



所以我在发送邮件时有以下代码,重要的是要注意我使用 html_entity_decode :
    $config['mailtype'] = 'html';
    $config['priority'] = 1;
    $config['charset'] = 'utf-8';
    $this->email->initialize($config);
    $this->email->from($this->auth_data->user_email, $this->auth_data->user_firstname . ' ' . $this->auth_data->user_lastname);
    $this->email->reply_to($this->auth_data->user_email, $this->auth_data->user_firstname . ' ' . $this->auth_data->user_lastname);
    $this->email->to('test@test.com'); 
    $this->email->subject($feedback_title_temp);
    $this->email->message(html_entity_decode($feedback_temp));  
    $this->email->send();

当我收到电子邮件时,它会插入符号 =随机位置,在某些情况下是 <br>甚至不会发生。

例如:
- xxxx<=r>- xxxx

应该:
- xxxx
- xxxx

当我在智能手机上查看电子邮件时,编码问题似乎只出现在 æåø 上。 chars 而 Outlook 则完全不同。

收到邮件标题::
**Microsoft Mail Internet Headers Version 2.0
Subject: =?utf-8?Q?(ID:_418)?=
To: some@one.com
X-PHP-Originating-Script: 0:Email.php
User-Agent: CodeIgniter
Date: Wed, 7 Nov 2012 00:31:54 +0100
From: <mat@damn.com>
Return-Path: <mat@damn.com>
Reply-To: "Johnny Bravo" <mat@damn.com>
X-Sender: damn@test.com
X-Mailer: CodeIgniter
X-Priority: 1 (Highest)
Message-ID: <50999deab797d@test.com>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="B_ALT_50999deab798e"
X-OriginalArrivalTime: 06 Nov 2012 23:31:54.0823 (UTC) FILETIME=[E8022570:01CDBC76]

--B_ALT_50999deab798e
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

--B_ALT_50999deab798e
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable


--B_ALT_50999deab798e--
**

收到的邮件,根据不同的内容,但是错误很明显:
Det her er en m=sse tekst, det er bare en test fra en hæææst.


- Hehe
- Heh<=br>
- Wee


A=l these things

- Lots of text

最佳答案

$this->email->set_crlf( "\r\n" );

修复了问题!

关于php - CodeIgniter 的电子邮件编码不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13260284/

相关文章:

email - 在 GO 中使用代理后面的 SMTP/电子邮件客户端

forms - symfony 3 在电子邮件验证字段中使用 'strict' => true

php - 如何使用 PHP 和 MySQL 填充此 HTML 表

php - 当 MYSQL 没有数据时 PHP 出现错误消息?

php - CodeIgniter 3.0.6 中的 SQLite3

php - 使用 PHP 获取 XSD 内容

java - 如何在android中发送html电子邮件?

php - 如何在 Jquery 和 PHP 中连接字符串

php - 句子中句子/单词/字符的出现 - 仅计算单词(如果可能,则不使用正则表达式)(PHP)

php - 将CI 3与HMVC一起使用时无法加载库