CodeIgniter - wysyłanie wiadomości e-mail
Wysyłanie wiadomości e-mail w CodeIgniter jest znacznie łatwiejsze. Możesz także skonfigurować preferencje dotyczące poczty elektronicznej w CodeIgniter. CodeIgniter zapewnia następujące funkcje do wysyłania wiadomości e-mail -
- Wiele protokołów - poczta, Sendmail i SMTP
- Szyfrowanie TLS i SSL dla SMTP
- Wielu odbiorców
- CC i BCC
- E-mail w formacie HTML lub Plaintext
- Attachments
- Zawijanie słów
- Priorities
- BCC Batch Mode, umożliwiający podzielenie dużych list e-mailowych na małe partie BCC.
- Narzędzia do debugowania poczty e-mail
Klasa poczty e-mail ma następujące funkcje, aby uprościć zadanie wysyłania wiadomości e-mail.
SN | Składnia | Parametry | Powrót | Typ zwrotu |
---|---|---|---|---|
1 | from ( $ from [, $ name = '' [, $ return_path = NULL ]]) | $from( string ) - adres e-mail „Od” $name( string ) - nazwa wyświetlana „Od” $return_path( string ) - Opcjonalny adres e-mail, na który ma być przekierowywana niedostarczona poczta |
Instancja CI_Email (łączenie metod) | CI_Email |
2 | Reply_to ( $ replyto [, $ name = '' ]) | $replyto( string ) - adres e-mail do odpowiedzi $name( string ) - Nazwa wyświetlana dla adresu zwrotnego |
Instancja CI_Email (łączenie metod) | CI_Email |
2 | do ( $ do ) | $to( mieszane ) - ciąg rozdzielany przecinkami lub tablica adresów e-mail |
Instancja CI_Email (łączenie metod) | CI_Email |
3 | cc ( $ cc ) | $cc( mieszane ) - ciąg rozdzielany przecinkami lub tablica adresów e-mail |
Instancja CI_Email (łączenie metod) | CI_Email |
4 | bcc ( $ bcc [, $ limit = '' ]) | $bcc( mieszane ) - ciąg rozdzielany przecinkami lub tablica adresów e-mail $limit( int ) - Maksymalna liczba e-maili do wysłania na paczkę |
Instancja CI_Email (łączenie metod) | CI_Email |
5 | temat ( $ subject ) | $subject( string ) - wiersz tematu wiadomości e-mail |
Instancja CI_Email (łączenie metod) | CI_Email |
6 | wiadomość ( $ body ) | $body( string ) - treść wiadomości e-mail |
Instancja CI_Email (łączenie metod) | CI_Email |
7 | set_alt_message ( $ str ) | $str( string ) - alternatywna treść wiadomości e-mail |
Instancja CI_Email (łączenie metod) | CI_Email |
8 | set_header ( nagłówek $, wartość $ ) | $header( string ) - nazwa nagłówka $value( string ) - wartość nagłówka |
Instancja CI_Email (łączenie metod) | CI_Email |
9 | wyczyść ([ $ clear_attachments = FALSE ]) | $clear_attachments( bool ) - czy usuwać załączniki |
Instancja CI_Email (łączenie metod) | CI_Email |
10 | wyślij ([ $ auto_clear = TRUE ]) | $auto_clear( bool ) - czy automatycznie czyścić dane wiadomości |
Instancja CI_Email (łączenie metod) | CI_Email |
11 | załącz ($ filename [, $ disposition = '' [, $ newname = NULL [, $ mime = '']]]) | $filename( string ) - nazwa pliku $disposition( string ) - „dyspozycja” załącznika. Większość klientów poczty e-mail podejmuje własne decyzje niezależnie od zastosowanej tutaj specyfikacji MIME. Iana $newname( string ) - niestandardowa nazwa pliku do użycia w wiadomości e-mail $mime( string ) - typ MIME do użycia (przydatne w przypadku danych buforowanych) |
Instancja CI_Email (łączenie metod) | CI_Email |
12 | załącznik_cid ( $ filename ) | $filename( string ) - nazwa istniejącego pliku załącznika |
Załącznik Content-ID lub FALSE, jeśli nie zostanie znaleziony | strunowy |
Wysyłanie wiadomości e-mail
Aby wysłać wiadomość e-mail za pomocą CodeIgniter, najpierw musisz załadować bibliotekę poczty e-mail za pomocą następującego -
$this->load->library('email');
Po załadowaniu biblioteki po prostu wykonaj następujące funkcje, aby ustawić niezbędne elementy do wysłania wiadomości e-mail. Plikfrom() służy do ustawiania - skąd wysyłana jest wiadomość e-mail oraz to()używana jest funkcja - do kogo wysyłany jest email. Pliksubject() i message() Funkcja służy do ustawienia tematu i treści wiadomości e-mail.
$this->email->from('[email protected]', 'Your Name');
$this->email->to('[email protected]');
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
Następnie wykonaj send() jak pokazano poniżej, aby wysłać wiadomość e-mail.
$this->email->send();
Przykład
Utwórz plik kontrolera Email_controller.php i zapisz go w application/controller/Email_controller.php.
<?php
class Email_controller extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->library('session');
$this->load->helper('form');
}
public function index() {
$this->load->helper('form');
$this->load->view('email_form');
}
public function send_mail() {
$from_email = "[email protected]";
$to_email = $this->input->post('email');
//Load email library
$this->load->library('email');
$this->email->from($from_email, 'Your Name');
$this->email->to($to_email);
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
//Send mail
if($this->email->send())
$this->session->set_flashdata("email_sent","Email sent successfully.");
else
$this->session->set_flashdata("email_sent","Error in sending Email.");
$this->load->view('email_form');
}
}
?>
Utwórz plik widoku o nazwie email_form.php i zapisz go w application/views/email_form.php
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>CodeIgniter Email Example</title>
</head>
<body>
<?php
echo $this->session->flashdata('email_sent');
echo form_open('/Email_controller/send_mail');
?>
<input type = "email" name = "email" required />
<input type = "submit" value = "SEND MAIL">
<?php
echo form_close();
?>
</body>
</html>
Wprowadź zmiany w routes.php plik w application/config/routes.php i dodaj następujący wiersz na końcu pliku.
$route['email'] = 'Email_Controller';
Wykonaj powyższy przykład, odwiedzając poniższy link. Zastąp twojawitryna.com adresem URL swojej witryny.
http://yoursite.com/index.php/email