Initekno.com – Pembahasan kali ini adalah lanjutan dari tutorial codeigniter tentang login dan register menggunakan myth-auth. Pembahasan kali ini menitik beratkan pada konfigurasi email verifikasi. Kita tahu bahwa email verifikasi sangat penting dalam sebuah sistem yang menerapkan proses register didalamnya.
Karena dengan email verifikasi, kita yakin bahwa pengguna atau member website kita adalah pengguna yang benar-benar sah dan terpercaya, bukan pengguna yang hanya sembarangan memasukkan email tanpa adanya validasi melalui email tersebut.
Baik, sebelum kita mulai sangat disarankan untuk kalian membaca artikel berikut ini :
Tutorial Codeigniter 4 Bahasa Indonesia – Login dan Register dengan myth-auth
Jika kalian sudah selesai membaca artikel pada link diatas, sekarang kita mulai pembahasan intinya. Saya anggap kalian sudah instal codeigniter 4, sudah melakukan konfigurasi database dan sudah menginstal library myth-auth.
pada direktori app/ThirdParty/myth-auth/src/config/Auth.php
pastikan kodenya sudah seperti ini :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
/** * -------------------------------------------------------------------- * Require Confirmation Registration via Email * -------------------------------------------------------------------- * * When enabled, every registered user will receive an email message * with an activation link to confirm the account. * * @var string Name of the ActivatorInterface class */ //public $requireActivation = false; public $requireActivation = 'Myth\Auth\Authentication\Activators\EmailActivator'; /** * -------------------------------------------------------------------- * Allow Password Reset via Email * -------------------------------------------------------------------- * * When enabled, users will have the option to reset their password * via the specified Resetter. Default setting is email. * * @var string Name of the ResetterInterface class */ public $activeResetter = 'Myth\Auth\Authentication\Resetters\EmailResetter'; |
pada artikel sebelumnya saya mematikan public $requireActivation menjadi false, dan sekarang kita kan hidupkan kembali email activatornya seperti diatas.
Jika langkah ini sudah kalian lakukan, sekarang silahkan buka direktori
app/config/Email.php dan samakan konfigurasi seperti berikut ini
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 |
<?php namespace Config; use CodeIgniter\Config\BaseConfig; class Email extends BaseConfig { /** * @var string */ public $fromEmail = "saefulmujabceria@gmail.com"; /** * @var string */ public $fromName = "cruddev"; /** * @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 = 'smtp.gmail.com'; /** * SMTP Username * * @var string */ public $SMTPUser = 'saefulmujabceria@gmail.com'; /** * SMTP Password * * @var string */ public $SMTPPass = 'password email kamu'; /** * SMTP Port * * @var integer */ public $SMTPPort = 465; /** * SMTP Timeout (in seconds) * * @var integer */ public $SMTPTimeout = 60; /** * Enable persistent SMTP connections * * @var boolean */ public $SMTPKeepAlive = false; /** * SMTP Encryption. Either tls or ssl * * @var string */ public $SMTPCrypto = 'ssl'; /** * 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; } |
intinya silahkan samakan konfigurasi seperti kode diatas, untuk email silahkan kalian menggunakan email sendiri ya. Jika sudah kalian lakukan, sekarang buka email kalian dan lakukan konfigurasi pada jendela keamanan menjadi berikut ini :
Sekarang coba jalankan website kalian dengan cara
1 |
php spark serve |
silahkan akses url localhost:8080/register
kemudian kalian coba registrasi, maka kalian akan mendapatkan hasil seperti berikut ini:
Jika kalian tekan register, maka akan mendapat pesan yang intinya link aktivasi telah dikirim ke alamat email yang tadi kalian ketiikan pada registrsi.
Sekarang coba buka email anda, makan kalian akan mendapatkan hasil seperti berikut :
Ok ya, baik sekali. sekarang website anda sudah aman dari pengguna yang tidak bertanggung jawab. karena mereka benar-benar harus melakukan aktivasi via email tersebut.
Terima kasih, semoga bermanfaat, jika kalian mengalami kendala silahkan ditanyakan pada kolom komentar di bawah artikel in
Tinggalkan Balasan