/ / Utilizzando un modello di posta HTML con codeigniter - php, codeigniter

Utilizzo di un modello di posta HTML con codeigniter - php, codeigniter

Sto usando la classe e-mail del codeigniter per inviare e-mail quando l'utente si registra al mio sito Web o svolge attività all'interno del mio sito Web.

Il fatto è che, con questo semplice codice sotto Ipuò solo inviare e-mail HTML molto semplici. E dovrò anche passare l'intero messaggio HTML alla funzione. Esiste un modo in cui posso caricare l'intero modello nella funzione stessa e passare semplicemente un messaggio che deve essere inserito all'interno del modello come facciamo in codeigniter con viste.

$message = "Thank you for your order n";
$message .= "We will contact you soon";
$this->email($message);

public function email($message = NULL){
$this->load->library("email");

$this->email->mailtype("html");
$this->email->from("abbbba@gmail.com", "Sohan Kc");
$this->email->to("abbbbaa@gmail.com");

$this->email->subject("Email Test");
$this->email->message($message);

$this->email->send();
}

risposte:

4 per risposta № 1

Perché non fai come hai già detto? :) Il metodo dei messaggi delle classi di posta elettronica richiede che venga passata una stringa. Basta caricare una vista e passare la stringa restituita al metodo.

public function email($message = NULL){
$this->load->library("email");

$mydata = array("message" => "I am a message that will be passed to a view");
$message = $this->load->view("my_email_template", $mydata, true);

$this->email->mailtype("html");
$this->email->from("sohanmax2@gmail.com", "Sohan Kc");
$this->email->to("sohanmax02@gmail.com");

$this->email->subject("Email Test");
$this->email->message($message);

$this->email->send();
}

0 per risposta № 2

Mando e-mail ma ho il codice html come body, ho dovuto aggiungere le intestazioni per ottenere il contenuto corretto come di seguito e funzionerà.

$ this-> email-> set_header ("Versione MIME", "1.0; charset = utf-8");

$ this-> email-> set_header ("Content-type", "text / html");