/ / html mensagem de email em codeigniter / php - php, e-mail, codeigniter, smtp, html-email

html mensagem de email em codeigniter / php - php, e-mail, codeigniter, smtp, html-email

Isso tem que ser simples, eu estou tentando carregar um arquivo de visão como minha mensagem de e-mail usando o CodeIgniter.O objetivo é ter um HTML e não apenas uma mensagem baseada em texto.

Atualmente, meus e-mails estão enviando ok, mas as mensagens estão vazias se meu código se parece com o que acontece abaixo:

Aqui está a parte relevante do php:

    $config=array(
"protocol" => "smtp",
"smtp_host" => "xxx",
"smtp_user" => "xxx",
"smtp_pass" => "xxx",
"smtp_port" => 587,
"mailtype" => "html",
"crlf" => "rn",
"newline" => "rn"
);
$this->email->initialize($config);
$this->email->subject("testing loading a view file");
$msg = $this->load->view("reviews/email", "", false);
$this->email->message($msg);

Aqui está o que o arquivo reviews / email.php se parece com:

<html>
<head></head>
<body> <h1>this should be BIG</h1> this should not
<a href="http://google.com/<? $php="login"; echo $php?>">Google</a>
</body>
</html>

Obrigado por qualquer conselho que você possa ter,

Tim

Respostas:

3 para resposta № 1

Você está carregando a visualização incorretamente. O terceiro parâmetro deve ser TRUE para que o CodeIgniter retorne a view como uma string.

$msg = $this->load->view("reviews/email", "", true);

A partir de http://codeigniter.com/user_guide/general/views.html:

Existe um terceiro parâmetro opcional que permitemudar o comportamento de a função para que ele retorne dados como uma string em vez de enviar para o seu navegador. Isso pode ser útil se você quiser processar os dados de algum modo. Se você definir o parâmetro como true (booleano), ele retornará dados. O comportamento padrão é falso, que envia para o seu navegador. Lembre-se de atribuí-lo a uma variável se você quiser que os dados sejam retornados:

$string = $this->load->view("myfile", "", true);