ahmadajah03 Wed Aug 2020 1 year ago

Contoh Send Email dengan SMTP pada Codeigniter

Dalam contoh ini, saya akan menjelaskan kepada Anda cara mengirim email dengan SMTP di codeigniter 4. Saya akan menunjukkan contoh mengirim email di codeigniter menggunakan smtp. mengirim email sangat mudah karena fungsi baru, Sekarang Codeigniter versi stabil tersedia untuk diunduh dari situs resminya.

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 sandinya menggunakan Cpanel, dan atur email dan kata sandi di sini.

onfig\Services::serviceName();
// i.e  \Config\Services::email();

Di segmen ini, Anda harus tahu cara menggunakannya; Anda dapat mengirim email dari website/localhost Anda ke user/client menggunakan Codeigniter 4, jadi sebelum menggunakan library email, Anda perlu melihat pengaturan library di Codeigniter 4.

Langkah 1: Buka File

Pada langkah ini, saya akan membuka file following path.

Path:- /app/config/Email.php

Langkah2: Perbarui Kredensial Email

Sekarang langkah ini, saya akan memperbarui Kredensial Email.

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 masuk ke controller/method and just use/call the 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']);
}

Itu akan membantumu...

 

codeigniter contoh kirim email codeigniter mengirim email codeigniter