feat(webstatement): tambahkan opsi abaikan validasi sertifikat SSL pada PHPMailer

- **Penyesuaian Konfigurasi PHPMailer**:
  - Menambahkan logika baru untuk mengabaikan validasi sertifikat SSL agar mendukung lingkungan yang menggunakan sertifikat self-signed atau tidak valid.
  - Menambahkan pengecekan properti konfigurasi `ignore_certificate_errors`.
  - Konfigurasi tambahan meliputi:
    - `verify_peer` diatur ke `false`.
    - `verify_peer_name` diatur ke `false`.
    - `allow_self_signed` diatur ke `true`.

- **Peningkatan Debugging**:
  - Mengaktifkan mode debug jika aplikasi dalam mode debug (`config('app.debug')`).

- **Tujuan Perubahan**:
  - Memfasilitasi pengelolaan email di lingkungan development atau pengujian.
  - Mendukung sertifikat SSL non-standar tanpa mengganggu fungsionalitas pengiriman email lainnya.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
Daeng Deni Mardaeni
2025-06-11 13:52:55 +07:00
parent fabc35e729
commit 0cbb7c9a3c

View File

@@ -107,10 +107,22 @@ class PHPMailerService
)
);
// Debug mode - COMMENTED OUT
// if (config('app.debug')) {
// $this->mailer->SMTPDebug = SMTP::DEBUG_SERVER;
// }
// --- TAMBAHKAN BAGIAN INI UNTUK MENGABAIKAN VALIDASI SERTIFIKAT ---
if (isset($config['ignore_certificate_errors']) && $config['ignore_certificate_errors']) {
$this->mailer->SMTPOptions = [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true,
],
];
}
// --- AKHIR TAMBAHAN ---
// Debug mode
if (config('app.debug')) {
$this->mailer->SMTPDebug = SMTP::DEBUG_SERVER;
}
// Timeout settings
$this->mailer->Timeout = config('mail.mailers.phpmailer.timeout', 30);