Dalam tutorial Codeigniter ini, kami ingin berbagi dengan Anda cara mengirim email dari localhost ke server di Codeigniter 4.
Codeigniter 4 mengirim email sangat mudah karena fungsionalitas baru, Sekarang versi stabil dari Codeigniter tersedia untuk diunduh dari situs web resmi.
Mereka telah memperkenalkan kelas layanan untuk menggunakan layanan Codeigniter 4 seperti email; Anda cukup memanggil layanan di Codeigniter dengan menggunakan kode di bawah ini.
Buat id email dan kata sandi mereka menggunakan Cpanel, dan atur email dan kata sandi di sini.
\Config\Services::serviceName();
// i.e \Config\Services::email();
Di segmen ini, Anda harus tahu cara menggunakannya; anda bisa mengirimkan email dari website/localhost anda ke user/client menggunakan Codeigniter 4, jadi sebelum menggunakan library email, anda perlu melihat setting library di Codeigniter 4.
Langkah 1: Buka app/config/Email.php dan buka file
Langkah 2: Perbarui Kredensial Email
<?php
namespace Config;
use CodeIgniter\Config\BaseConfig;
class Email extends BaseConfig
{
/**
* @var string
*/
public $fromEmail;
/**
* @var string
*/
public $fromName;
/**
* @var string
*/
public $recipients;
/**
* The "user agent"
*
* @var string
*/
public $userAgent = 'CodeIgniter';
/**
* The mail sending protocol: mail, sendmail, smtp
*
* @var string
*/
public $protocol = 'smtp';
/**
* The server path to Sendmail.
*
* @var string
*/
public $mailPath = '/usr/sbin/sendmail';
/**
* SMTP Server Address
*
* @var string
*/
public $SMTPHost='mail.tutsmake.com';
/**
* SMTP Username
*
* @var string
*/
public $SMTPUser = '[email protected]';
/**
* SMTP Password
*
* @var string
*/
public $SMTPPass = 'YourPasswordHere$';
/**
* SMTP Port
*
* @var integer
*/
public $SMTPPort = 587;
/**
* SMTP Timeout (in seconds)
*
* @var integer
*/
public $SMTPTimeout = 15;
/**
* Enable persistent SMTP connections
*
* @var boolean
*/
public $SMTPKeepAlive = false;
/**
* SMTP Encryption. Either tls or ssl
*
* @var string
*/
public $SMTPCrypto = 'tls';
/**
* Enable word-wrap
*
* @var boolean
*/
public $wordWrap = true;
/**
* Character count to wrap at
*
* @var integer
*/
public $wrapChars = 76;
/**
* Type of mail, either 'text' or 'html'
*
* @var string
*/
public $mailType = 'html';
/**
* Character set (utf-8, iso-8859-1, etc.)
*
* @var string
*/
public $charset = 'UTF-8';
/**
* Whether to validate the email address
*
* @var boolean
*/
public $validate = false;
/**
* Email Priority. 1 = highest. 5 = lowest. 3 = normal
*
* @var integer
*/
public $priority = 3;
/**
* Newline character. (Use “\r\n” to comply with RFC 822)
*
* @var string
*/
public $CRLF = "\r\n";
/**
* Newline character. (Use “\r\n” to comply with RFC 822)
*
* @var string
*/
public $newline = "\r\n";
/**
* Enable BCC Batch Mode.
*
* @var boolean
*/
public $BCCBatchMode = false;
/**
* Number of emails in each BCC batch
*
* @var integer
*/
public $BCCBatchSize = 200;
/**
* Enable notify message from server
*
* @var boolean
*/
public $DSN = false;
}
Langkah 3: Sekarang buka controller/method Anda dan cukup use/call library/class
public function yourMethod(){
$message = "Please activate the account ".anchor('user/activate/'.$data['u_link'],'Activate Now','');
$email = \Config\Services::email();
$email->setFrom('[email protected]', 'your Title Here');
$email->setTo($data['u_email']);
$email->setSubject('Your Subject here | tutsmake.com');
$email->setMessage($message);//your message here
$email->setCC('another@emailHere');//CC
$email->setBCC('thirdEmail@emialHere');// and BCC
$filename = '/img/yourPhoto.jpg'; //you can use the App patch
$email->attach($filename);
$email->send();
$email->printDebugger(['headers']);
}
Perhatikan bahwa:- Jika Anda mengirim email menggunakan Gmail, Anda harus mengizinkan aplikasi yang tidak aman mengakses Gmail, Anda dapat melakukannya dengan membuka setelan Gmail di sini .
Setelah aplikasi yang kurang aman diaktifkan; sekarang Anda dapat menggunakan Gmail Anda untuk mengirim email.
codeigniter send mail with codeigniter 4 example