我是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中加载。
任何帮助???
答案 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);