我需要从用户那里获取文件并将其附加到邮件而不将其保存在服务器上。 Codeigniter中是否可以将上传的文件存储在变量中,然后将其附加到Codeigniter电子邮件库的电子邮件中?怎么实现呢?在CI中,我只发现将上传文件存储在硬盘驱动器而不是变量中的类。
首先,您必须将文件上传到服务器目录,然后将文件的名称和路径传递给电子邮件附加行,即,
**$this->email->attach('/path/to/file.ext');**
请参阅以下代码了解上传课程和电子邮件库。
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
}
else
{
$data = array('upload_data' => $this->upload->data());
$this->load->library('email');
$this->email->from('[email protected]', 'Your Name');
$this->email->to('[email protected]');
$this->email->cc('[email protected]');
$this->email->bcc('[email protected]');
$this->email->subject('Email Test');
$this->email->attach('/path/to/file.ext');
$this->email->message('Testing the email class.');
$this->email->send();
}
试试这个吧
https://www.codeigniter.com/user_guide/libraries/email.html
它运作良好。我在最近的项目中试过这个