Mengirim Email
Halo sahabat Belajar Pintar PHP, mengirim email tidak hanya sederhana, tetapi Anda dapat mengkonfigurasinya dengan cepat atau menetapkan preferensi Anda dalam file konfigurasi.
Berikut adalah contoh dasar menunjukkan bagaimana Anda bisa mengirim email.
Catatan: Contoh ini mengasumsikan Anda mengirim email dari salah satu controllers Anda.
$this->load->library('email');
$this->email->from('ivan@contoh.com', 'nama anda');
$this->email->to('seseorang@contoh.com');
$this->email->cc('contoh@contoh-contoh.com');
$this->email->bcc('mereka@kalian-contoh.com');
$this->email->subject('Test Email');
$this->email->message('Mari Belajar Pintar PHP.');
$this->email->send();
echo $this->email->print_debugger();
$this->email->from('ivan@contoh.com', 'nama anda');
$this->email->to('seseorang@contoh.com');
$this->email->cc('contoh@contoh-contoh.com');
$this->email->bcc('mereka@kalian-contoh.com');
$this->email->subject('Test Email');
$this->email->message('Mari Belajar Pintar PHP.');
$this->email->send();
echo $this->email->print_debugger();
Mengatur Preferensi Email
Perlu anda ketahui sahabat belajar pintar php , bahwa disini ada 17 pilihan yang berbeda tersedia untuk menyesuaikan bagaimana pesan email Anda dikirim. Anda dapat mengatur secara manual seperti yang dijelaskan di sini, atau secara otomatis melalui preferensi yang tersimpan dalam file konfigurasi Anda, dijelaskan di bawah ini:
Preferensi ditetapkan dengan melewatkan array nilai preferensi untuk fungsi initialize email. Berikut adalah contoh bagaimana Anda dapat mengatur beberapa preferensi:
$config['protocol'] = 'sendmail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$this->email->initialize($config);
$config['mailpath'] = '/usr/sbin/sendmail';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$this->email->initialize($config);
Catatan: Sebagian besar preferensi memiliki nilai default yang akan digunakan jika Anda tidak menetapkannya.
Mengatur Preferensi Email di File Config
Jika sahabat semua memilih untuk tidak menetapkan preferensi menggunakan metode di atas, Anda juga bisa menempatkannya ke dalam sebuah file konfigurasi. Cukup membuat file baru yang disebut email.php, tambahkan array $ config dalam file tersebut. Kemudian simpan file di config / email.php dan akan digunakan secara otomatis. Anda tidak akan perlu menggunakan $ this-> email-> initialize () fungsi jika Anda menyimpan preferensi Anda dalam file konfigurasi.
Preferensi Email
Berikut ini adalah daftar semua preferensi yang dapat diatur saat mengirim email.
Preferensi | Nilai Default | Options / Pilihan | Deskripsi |
---|---|---|---|
useragent | CodeIgniter | None | "user agent". |
protocol | mail, sendmail, or smtp | Protokol pengiriman email. | |
mailpath | /usr/sbin/sendmail | None | Jalur server untuk pengiriman email. |
smtp_host | No Default | None | SMTP Alamat Server. |
smtp_user | No Default | None | SMTP Username. |
smtp_pass | No Default | None | SMTP Password. |
smtp_port | 25 | None | SMTP Port. |
smtp_timeout | 5 | None | SMTP Timeout (in seconds). |
wordwrap | TRUE | TRUE or FALSE (boolean) | aktif / tidak aktif word-wrap. |
wrapchars | 76 | menghitung karakter pada wrap at. | |
mailtype | text | text or html | Jenis mail. Jika Anda mengirim email HTML, Anda harus mengirimkannya sebagai halaman web lengkap. Pastikan Anda tidak memiliki link relatif atau path relatif ke gambar kalau tidak ini tidak akan bekerja. |
charset | utf-8 | set karakter (utf-8, iso-8859-1, etc.). | |
validate | FALSE | TRUE or FALSE (boolean) | Apakah akan memvalidasi alamat email. |
priority | 3 | 1, 2, 3, 4, 5 | Email Prioritas. 1 = tertinggi. 5 = terendah. 3 normal =. |
crlf | \n | "\r\n" or "\n" or "\r" | Karakter baris baru. (Gunakan "\ r \ n" untuk mematuhi RFC 822). |
newline | \n | "\r\n" or "\n" or "\r" | Karakter baris baru. (Gunakan "\ r \ n" untuk mematuhi RFC 822). |
bcc_batch_mode | FALSE | TRUE or FALSE (boolean) | Aktifkan Batch Mode BCC. |
bcc_batch_size | 200 | None | Jumlah email di setiap batch BCC. |
Email Function Reference
$this->email->from()
Mengatur alamat email dan nama orang yang mengirim email:
$this->email->from('ivan@contoh.com', 'Nama Anda');
$this->email->reply_to()
Mengatur balasan-untuk mengatasi. Jika informasi tersebut tidak diberikan informasi dalam fungsi "dari" digunakan. contoh:
$this->email->reply_to('ivan@contoh.com', 'Nama Anda');
$this->email->to()
Mengatur alamat email (s) dari penerima (s). Bisa satu email, daftar koma-delimited atau array:
$this->email->to('someone@example.com');
$this->email->to('one@example.com, two@example.com, three@example.com');
$list = array('one@example.com', 'two@example.com', 'three@example.com');
$this->email->to($list);
$this->email->to($list);
$this->email->cc()
Mengatur email address CC (s). Sama seperti "untuk", bisa menjadi satu email, daftar koma-delimited atau array.
$this->email->bcc()
Mengatur alamat email BCC (s). Sama seperti "untuk", bisa menjadi satu email, daftar koma-delimited atau array.
$this->email->subject()
Mengatur subjek email:
$this->email->subject('Ini adalah subjek saya');
$this->email->message()
Mengatur isi pesan email:
$this->email->message('Ini adalah pesan saya');
$this->email->set_alt_message()
Mengatur tubuh pesan email alternatif:
$this->email->set_alt_message('Ini adalah pesan alternatif');
Ini adalah string pesan opsional yang dapat digunakan jika Anda mengirim email HTML diformat. Ini memungkinkan Anda menentukan pesan alternatif tanpa format HTML yang ditambahkan ke string header untuk orang-orang yang tidak menerima email HTML. Jika Anda tidak menetapkan CodeIgniter pesan Anda sendiri akan mengekstrak pesan dari email HTML Anda dan strip tag.
$this->email->clear()
Menginisialisasi semua variabel email ke keadaan kosong. Fungsi ini dimaksudkan untuk digunakan jika Anda menjalankan mengirim email fungsi dalam satu lingkaran, memungkinkan data diatur ulang antara siklus.
foreach ($list as $name => $address)
{
$this->email->clear();
$this->email->to($address);
$this->email->from('your@example.com');
$this->email->subject('Here is your info '.$name);
$this->email->message('Hi '.$name.' Here is the info you requested.');
$this->email->send();
}
{
$this->email->clear();
$this->email->to($address);
$this->email->from('your@example.com');
$this->email->subject('Here is your info '.$name);
$this->email->message('Hi '.$name.' Here is the info you requested.');
$this->email->send();
}
Jika Anda mengatur parameter TRUE lampiran akan dihapus juga:
$this->email->clear(TRUE);
$this->email->send()
Email tersebut mengirimkan fungsi. Pengembalian boolean TRUE atau FALSE berdasarkan keberhasilan atau kegagalan, memungkinkan untuk digunakan kondisional:
if ( ! $this->email->send())
{
// Generate error
}
{
// Generate error
}
$this->email->attach()
Memungkinkan Anda untuk mengirim lampiran. Masukan path file / nama dalam parameter pertama. Catatan: Gunakan path file, bukan URL. Untuk beberapa lampiran menggunakan fungsi beberapa kali. Sebagai contoh:
$this->email->attach('/path/to/photo1.jpg');
$this->email->attach('/path/to/photo2.jpg');
$this->email->attach('/path/to/photo3.jpg');
$this->email->send();
$this->email->attach('/path/to/photo2.jpg');
$this->email->attach('/path/to/photo3.jpg');
$this->email->send();
$this->email->print_debugger()
Mengembalikan string yang berisi pesan server apapun, header email, dan messsage email. Berguna untuk debugging.
Overriding Word Wrapping
Jika Anda memiliki kata membungkus diaktifkan (dianjurkan untuk mematuhi RFC 822) dan Anda memiliki link yang sangat panjang di email Anda itu bisa dibungkus juga, menyebabkan ia menjadi un-diklik oleh orang yang menerimanya. CodeIgniter memungkinkan Anda secara manual menimpa pembungkus kata dalam bagian dari pesan Anda seperti ini:
The text of your email that
gets wrapped normally.
{unwrap}http://example.com/a_long_link_that_should_not_be_wrapped.html{/unwrap}
More text that will be
wrapped normally.
gets wrapped normally.
{unwrap}http://example.com/a_long_link_that_should_not_be_wrapped.html{/unwrap}
More text that will be
wrapped normally.
Tempatkan item yang Anda tidak ingin kata-dibungkus antara: {} {unwrap / unwrap}
Sekian dulu tutorial dari saya, selamat mempraktekkannya sahabat belajar pintar semua.
jangan lupa komentarnya dan like atau send fb nya.
jangan lupa komentarnya dan like atau send fb nya.