Modul ini dimaksudkan sebagai plugin yang berfungsi dengan modul SMTP PHPMailer, yang menyediakan autentikasi ke Gmail Google Workspace melalui OAuth2. Ini terinspirasi oleh phpmailer_oauth2, yang ditulis oleh Ian McLean (imclean). Seandainya saya tidak menemukan modul Ian, kecil kemungkinannya saya akan mencoba mengerjakan modul tersebut untuk Google Gmail.
PENTING: Modul ini memerlukan modul Google league/oauth2-google, tersedia di https://oauth2-client.thephpleague.com/providers/league/. Itu harus diinstal di direktori vendor Anda.
Sebelum menggunakan modul ini, perlu menyiapkan Client ID dan Client Secret di Google. Berikut cara melakukannya mulai April 2024, dan mengonfigurasi modul ini:
Masuk ke akun Google Workspace Anda.
Buka https://console.cloud.google.com/.
Di kiri atas laman di samping "Google Cloud", seharusnya ada tarik-turun proyek. Klik di atasnya.
Jika Anda tidak memiliki proyek yang terdaftar di kotak dialog 'Pilih sumber daya', buatlah proyek tersebut, lalu pilih proyek tersebut sebagai proyek Anda saat ini.
Klik 'API & Layanan', sebuah tombol besar di suatu tempat di tengah halaman.
Klik Kredensial di menu yang muncul di sisi kiri halaman.
Klik BUAT KREDENSIAL, lalu pilih 'ID klien OAuth'.
Pilih 'Aplikasi web' untuk Jenis Aplikasi.
Beri nama kredensial Anda, dan catat ID Klien dan Rahasia Klien Anda. Anda harus memasukkan nilai-nilai ini pada (11) di bawah.
Setelah Anda menginstal modul ini, Anda dapat menemukan 'URI pengalihan resmi' untuk situs Anda dengan membuka Konfigurasi->Sistem->PHPMailer Gmail OAuth2 (/admin/config/system/phpmailer-gmail-oauth2). Buka halaman itu di jendela browser terpisah, dan Anda akan menemukan URI pengalihan yang diperlukan oleh Google di dekat bagian atas halaman. Salin URI dan masukkan ke dalam kotak 'URI pengalihan resmi' di laman Google. Tekan Simpan.
Kembali ke halaman Drupal, masukkan alamat email Google Anda, ID Klien, dan Rahasia Klien, lalu tekan tombol 'Simpan konfigurasi'.
Setelah Anda menyimpan kredensial Google Anda, tombol 'Dapatkan Refresh Token' akan muncul. Tekan tombol itu untuk mengalihkan dari situs Anda ke Google, lalu ikuti petunjuk di Google.
Setelah selesai, Google akan mengeluarkan Refresh Token dan mengarahkan kembali ke halaman Drupal yang baru saja Anda tinggalkan. Jika semuanya berhasil, Anda akan memiliki Token Refresh dan siap mengirim email.
Jika Anda mengalami masalah saat mengalihkan ke Google saat Anda menekan tombol 'Dapatkan Refresh Token', Anda mungkin perlu menambahkan yang berikut ini ke file settings.php Anda:
$ settings [ ' trusted_host_patterns ' ] = [ ' ^accounts.google.com$ ' ];
If you have other trusted_host_patterns, add '^accounts.google.com$' to the array.
Beberapa item pengaturan lainnya:
Jangan lupa masuk ke modul Mail untuk memilih 'PHPMailer SMTP' sebagai Pemformat dan Pengirim email Anda (/admin/config/system/mailsystem).
Jika Anda memiliki modul lain seperti Commerce 2 yang mengirim email, Anda mungkin perlu menambahkannya di bagian bawah halaman yang sama pada (1) di atas.
Pada halaman pengaturan transportasi SMTP PHPMailer, pilih 'Gmail OAuth2' sebagai metode otentikasi SMTP Anda (/admin/config/system/phpmailer-smtp). Atur port SMTP ke 587, dan pilih TLS sebagai protokol aman.
Anda dapat menggunakan layanan 'Konfigurasi pengujian' di halaman pengaturan transport SMTP PHPMailer untuk memverifikasi bahwa konfigurasi baru berfungsi dengan mengirimkan email pengujian.