开发者

Sending email php

I use CI library for sending HTML email throu开发者_Python百科gh smtp. When i try to send from my computer, it send right HTML. but when i send it from server, why i get HTML tag. not formatted as html ? I already set 'mailtype' to 'html'.

I wonder why it work at my local but not at server. Is there any configuration in php ? or i should send email header or something?

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

        $this->load->library('email', $this->config->item('email'));
        $this->email->set_newline("\r\n");
        $this->email->from('xxxx', 'xxxx');

        $this->email->to("xxxx");

        $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';
        }
    }


Setting config options doesn't work unless you initialize them. Add this after your $config array:

$this->email->initialize($config);


Based on what I think you're trying to do:

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

should be

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

Try and let us know.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜