Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter/TankAuth忘记密码功能发送没有内容的电子邮件_Php_Codeigniter_Email_Postfix Mta - Fatal编程技术网

Php CodeIgniter/TankAuth忘记密码功能发送没有内容的电子邮件

Php CodeIgniter/TankAuth忘记密码功能发送没有内容的电子邮件,php,codeigniter,email,postfix-mta,Php,Codeigniter,Email,Postfix Mta,最近将现有的CodeIgniter产品转移到自己的VPS,一切都在进行中。但是,由于某些原因,密码已失效,当运行忘记密码功能时,电子邮件到达时主题行完整,但是,电子邮件没有内容。完全这就是违规代码: function _send_email($type, $email, &$data) { $this->load->library('email'); $this->email->from($this->config->i

最近将现有的CodeIgniter产品转移到自己的VPS,一切都在进行中。但是,由于某些原因,密码已失效,当运行忘记密码功能时,电子邮件到达时主题行完整,但是,电子邮件没有内容。完全这就是违规代码:

function _send_email($type, $email, &$data) {
        $this->load->library('email');
        $this->email->from($this->config->item('webmaster_email', 'tank_auth'), $this->config->item('website_name', 'tank_auth'));
        $this->email->reply_to($this->config->item('webmaster_email', 'tank_auth'), $this->config->item('website_name', 'tank_auth'));
        $this->email->to($email);
        $this->email->subject(sprintf($this->lang->line('auth_subject_' . $type), $this->config->item('website_name', 'tank_auth')));
        $this->email->message($this->load->view('email/' . $type . '-html', $data, TRUE));

    echo $this->load->view('email/' . $type . '-html', $data, TRUE);

        $this->email->set_alt_message($this->load->view('email/' . $type . '-txt', $data, TRUE));
        $this->email->send();
    }
我使用相同的CodeIgniter库编写了一个简短的PHP脚本来发送电子邮件:

<?php
该电子邮件完全可以发送,并产生以下输出:

User-Agent: CodeIgniter
Date: Mon, 14 Apr 2014 18:55:55 +1000
From: "EPI Dashboard" <epi@epidashboard.com>
Return-Path: <epi@epidashboard.com>
Reply-To: "epi@epidashboard.com" <epi@epidashboard.com>
X-Sender: epi@epidashboard.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <534ba29b87010@epidashboard.com>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="B_ALT_534ba29b8708b"


=?utf-8?Q?Here_and_There?=
This is a multi-part message in MIME format.
Your email application may not support this format.

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

I hear you are an example


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

I hear you are an example

--B_ALT_534ba29b8708b--
服务器是一个CentOS 6 VPS,运行postfix,显然是PHP/MySql/Apache


如果您有任何关于检查内容或您能想到的任何资源的想法,我们将不胜感激。

此服务器的PHP.INI文件需要有以下行:

sendmail_path = /usr/sbin/sendmail -t -i
这立刻解决了问题。不完全确定为什么邮件的某些部分会出现而不是正文,但它是有效的

sendmail_path = /usr/sbin/sendmail -t -i