通过带有文件附件的联系表单发送电子邮件



我正在尝试使用Codeigniter创建一个联系表单,该表单将发送一封带有文件附件的电子邮件。现在,当发送电子邮件时,我得到的只是上传的文件的名称,而不是实际的附件。有人可以帮助我吗?

这是我正在使用的代码:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class sendmail_contact extends CI_Model {
function __construct()
{
    parent::__construct();
}
function send()
{
    $this->load->library('email');
    $this->load->helper('date');
    $now = time();
    $contact_date = unix_to_human($now); // U.S. time, no seconds
    $this->load->library('email'); 
    $this->email->set_newline("rn");
    $name = $this->input->post('name', TRUE);
    $file = $this->input->post('file', TRUE);

    $this->email->from($email);
    $this->email->to('test@gmail.com'); 
    $this->email->subject('Subject');
    $this->email->message("Email" . $name . "rn" . $file); 
    $this->email->send();

}

首先,将附加的文件保存到存储中。

见 http://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html

然后,在保存用户上传的文件后,获取该文件的名称和使用

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

它会将文件附加到您要发送的电子邮件中。

$name应该是文件的完整路径,您可以通过回显找到系统的根目录

echo $this->config->item('server_root');

你可以像这样构建它:

$this->config->item('server_root')."/path to needed folder/"

文件的路径将是:

$name = $this->config->item('server_root')."/path to needed folder/"."file´s name";

如果您需要构造相对路径,可以在此处咨询如何操作链接

相关内容

  • 没有找到相关文章

最新更新