Codeigniter附件不随电子邮件一起发送。

时间:2014-04-03 02:24:06

标签: codeigniter

我是codeigniter的新手。我正在使用CI 2.1.4 我想在电子邮件中附上一个txt文件。电子邮件在电子邮件中通过并收到,但没有附件。

以下是代码:

<?php
class email extends CI_Controller{
    function index(){
        $config = array(
            'protocol'=>'smtp',
            'smtp_host'=>'ssl://smtp.googlemail.com',
            'smtp_port'=>465,
            'smtp_user'=>'xxxxxx',
            'smtp_pass'=>'xxxxxx'
        );

        $this->load->library('email',$config);

        $this->email->set_newline("\r\n");
        $this->email->to('xxxxx@gmail.com');
        $this->email->from('xxxxxx', 'xxxxx');
        $this->email->subject('This is email subject');
        $this->email->message('This is email message body');

        $this->email->attach('attachments/file.txt');

            if($this->email->send()){
                echo("Email successfully send");
            } else{
                $this->email->print_debugger();
            } 
    }
}

&GT;

file.txt是附件文件夹和附件文件夹位于根目录下的文件。

URL,HTML帮助程序在autoload.php中加载。

任何帮助???

4 个答案:

答案 0 :(得分:1)

试试这样 这应该是你的道路问题

$path = <?php base_url(); ?>.'attachments/file.txt';
$this->email->attach($path);

答案 1 :(得分:1)

我遇到了同样的问题并修复了如下,

$this->email->attach(FCPATH. '\dist\pdf\\' . $filename);

在我的情况下&#34; /&#34;没有工作。 FCPATH 是获取必须的绝对路径。希望这会有所帮助。

答案 2 :(得分:0)

确保您使用的是附件的文件路径,而不是URL。

/path/to/file/on/server/file.txt

答案 3 :(得分:0)

附件文件夹应位于应用程序文件夹的相同位置

像 项目名 | | -应用 - 您的上传文件夹

   $file =  './attachments/Info.txt';

   $this->email->attach($file);