0

我知道 - 已经有关于这个的讨论,但他们都没有帮助。

我想要的只是发送一个简单的 html 邮件 - 带有:

    $this->load->library('email');
    $this->email->from('me@myadress.de', 'My name');
    $this->email->to('me@home.de');
    $this->email->subject('Email Test');
    $this->email->message('test'); # for test only - normally I load a html view
    $this->email->send();

使用默认配置($config['mailtype'] = 'text';)工作正常,但是当我将其更改为$config['mailtype'] = 'html';- 我只是得到

无法使用 PHP mail() 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。

我找到的唯一答案是使用 SMPT - 但我更喜欢使用 sendmail 的解决方案。(我很确定 sendmails 支持 html 邮件。^^)

还有其他提示吗?我不知道如何调试这个......电子邮件打印对我来说看起来不错。

4

1 回答 1

0

如果您想通过电子邮件发送 html,请检查以下控制器文件

class Mail extends CI_Controller {

function __construct()
{
    parent::__construct();
    $this->load->helper(array('form', 'url'));
}


    public function index()
{       
    $config = array(
        'protocol' => 'smtp',
        'smtp_host' => 'tls://smtp.gmail.com',
        'smtp_port' => 465,
        'smtp_user' => 'xxx@gmail.com',
        'smtp_pass' => '*********',
        'mailtype'  => 'html',
        'charset'   => 'utf-8'
    );

    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");
    $this->email->from('xxx@gmail.com');

    $this->email->to("yyyy@gmail.com");

    $this->email->subject('Test Email');

    $body = $this->load->view('welcome_message',null,TRUE);

    $this->email->message($body);

    if (!$this->email->send()){
        echo 'fail to load email';
    }
    else {
        echo 'success to send email';
    }
}

}

welcome_message您要作为邮件正文发送的 html 视图文件在哪里

于 2013-06-11T05:26:52.547 回答