Masalah email di OJS adalah salah satu keluhan paling sering dari pengelola jurnal. Notifikasi submission tidak terkirim, reviewer tidak mendapat undangan review, penulis tidak menerima keputusan editor — semuanya bisa terjadi hanya karena konfigurasi email yang kurang tepat.
Artikel ini membahas secara tuntas semua kemungkinan penyebab OJS gagal kirim email beserta solusi langkah demi langkah untuk masing-masing kasusnya.
Daftar Isi
- Mengapa Email di OJS Sering Bermasalah?
- Penyebab 1: Konfigurasi SMTP Salah atau Kosong
- Penyebab 2: Email Masuk Folder Spam
- Penyebab 3: Hosting Memblokir Port SMTP
- Penyebab 4: Kredensial SMTP Tidak Valid
- Penyebab 5: Masalah pada config.inc.php
- Penyebab 6: Plugin Email Tidak Aktif
- Cara Uji Pengiriman Email di OJS
- Konfigurasi SMTP Rekomendasi (Gmail, Outlook, cPanel)
- Checklist Akhir Sebelum Live
Mengapa Email di OJS Sering Bermasalah?
OJS (Open Journal Systems) sangat bergantung pada email untuk menjalankan alur editorial. Mulai dari konfirmasi registrasi, notifikasi submission, undangan reviewer, hingga keputusan akhir editor, semua melewati sistem email.
Secara default, OJS menggunakan fungsi mail() bawaan PHP. Masalahnya, banyak hosting modern menonaktifkan atau membatasi fungsi ini karena potensi penyalahgunaan untuk spam. Akibatnya, email dari OJS tidak terkirim tanpa ada pesan error yang jelas kepada pengguna.
Penyebab 1: Konfigurasi SMTP Salah atau Kosong
Ini adalah penyebab paling umum. OJS belum dikonfigurasi untuk menggunakan server SMTP eksternal, sehingga mengandalkan mail() PHP yang sering tidak berfungsi di shared hosting.
Cara Mengatasinya
Masuk ke Administration → Site Settings → Email (OJS 3) atau Site Management → Email Settings (OJS 2), lalu isi form SMTP berikut:
| Field | Keterangan |
|---|---|
| SMTP Server | Alamat server SMTP (contoh: smtp.gmail.com) |
| SMTP Port | 587 (TLS) atau 465 (SSL) |
| SMTP Authentication | Centang/aktifkan |
| Username | Alamat email pengirim |
| Password | Password email atau App Password |
| Enkripsi | TLS atau SSL |
Setelah mengisi, klik Simpan dan lanjutkan ke bagian uji pengiriman email.
Penyebab 2: Email Masuk Folder Spam
Email sebenarnya terkirim, tapi penerima tidak menemukannya di inbox — melainkan di folder Spam atau Junk.
Ini biasanya terjadi karena:
- Domain jurnal tidak memiliki record SPF, DKIM, atau DMARC
- Nama pengirim atau subject email terlihat mencurigakan bagi filter spam
- IP server hosting masuk daftar hitam (blacklist)
Cara Mengatasinya
Langkah 1: Tambahkan SPF Record
Masuk ke pengaturan DNS domain Anda (biasanya di cPanel → Zone Editor), tambahkan TXT record:
v=spf1 include:_spf.google.com ~all
Sesuaikan dengan provider SMTP yang digunakan. Untuk cPanel mail server:
v=spf1 +a +mx +ip4:[IP_SERVER_ANDA] ~all
Langkah 2: Aktifkan DKIM
Jika menggunakan cPanel, aktifkan DKIM di menu Email → Email Deliverability. Klik Fix pada domain jurnal Anda.
Langkah 3: Cek Blacklist
Cek apakah IP server masuk blacklist di MXToolbox Blacklist Check. Jika iya, hubungi provider hosting untuk meminta delisting.
Penyebab 3: Hosting Memblokir Port SMTP
Banyak shared hosting memblokir port 25 (port SMTP standar) untuk mencegah spam. Bahkan port 465 dan 587 kadang ikut diblokir pada paket hosting tertentu.
Cara Mendeteksinya
Anda bisa mengecek lewat SSH (jika tersedia):
telnet smtp.gmail.com 587
Jika hasilnya Connection refused atau tidak ada respons, port tersebut diblokir.
Cara Mengatasinya
Opsi A: Gunakan Port Alternatif
Coba kombinasi port berikut:
| Provider | Port | Enkripsi |
|---|---|---|
| Gmail | 587 | TLS (STARTTLS) |
| Gmail | 465 | SSL |
| Outlook/Office365 | 587 | TLS |
| cPanel Mail | 587 | TLS |
| cPanel Mail | 465 | SSL |
Opsi B: Hubungi Provider Hosting
Minta support hosting untuk membuka port SMTP yang dibutuhkan. Sertakan alasan bahwa Anda mengelola sistem jurnal ilmiah yang membutuhkan pengiriman notifikasi email.
Opsi C: Gunakan SMTP Relay Eksternal
Gunakan layanan seperti SendGrid, Mailgun, atau Brevo (Sendinblue) yang biasanya menggunakan port HTTP/HTTPS sebagai alternatif, sehingga tidak terpengaruh blokir port SMTP konvensional.
Penyebab 4: Kredensial SMTP Tidak Valid
Kesalahan typo pada username/password, atau penggunaan password akun utama padahal provider mengharuskan App Password.
Kasus Khusus: Gmail
Sejak Mei 2022, Google tidak lagi mengizinkan login SMTP menggunakan password akun biasa. Anda wajib menggunakan App Password.
Cara membuat App Password Gmail:
- Buka myaccount.google.com
- Masuk ke Security → 2-Step Verification (aktifkan dulu jika belum)
- Scroll ke bawah, klik App passwords
- Pilih Mail dan Other (Custom name), ketik “OJS”
- Klik Generate — salin 16 karakter password yang muncul
- Gunakan password 16 karakter ini (bukan password Gmail biasa) di konfigurasi SMTP OJS
Kasus Khusus: Outlook/Office 365
Pastikan akun Outlook tidak mengaktifkan MFA (Multi-Factor Authentication) tanpa App Password, atau gunakan metode autentikasi OAuth2 jika tersedia di versi OJS Anda.
Penyebab 5: Masalah pada config.inc.php
Pada beberapa kondisi (terutama setelah migrasi atau restore), pengaturan email di database OJS tidak sinkron dengan file konfigurasi, atau ada pengaturan di config.inc.php yang menimpa setting dari Admin Panel.
Cara Memeriksa
Buka file config.inc.php di root instalasi OJS, cari bagian [email]:
[email]
; Use SMTP for sending mail instead of mail()
smtp = On
; SMTP server settings
smtp_server = smtp.gmail.com
smtp_port = 587
; Enable SMTP authentication
smtp_auth = ssl ; gunakan "tls" untuk port 587
; SMTP username and password
smtp_username = emailanda@gmail.com
smtp_password = app_password_16_karakter
; Enable SMTP debugging (log to file_dir/error_log)
smtp_dump_file =
; Allow envelope sender to be specified
; (may not be possible with some server configurations)
allow_envelope_sender = Off
; Default envelope sender to use if allow_envelope_sender is enabled
default_envelope_sender =
; Force the default envelope sender (if present) as the envelope sender
force_default_envelope_sender = Off
Perhatian: Nilai di
config.inc.phpakan menimpa pengaturan yang dimasukkan melalui Admin Panel. Pastikan keduanya konsisten.
Nilai smtp_auth yang Benar
| Enkripsi | Nilai smtp_auth |
|---|---|
| SSL (port 465) | ssl |
| TLS/STARTTLS (port 587) | tls |
| Tanpa enkripsi | Off |
Penyebab 6: Plugin Email Tidak Aktif
Di OJS 3.x, beberapa fungsi email bergantung pada plugin yang harus diaktifkan secara manual.
Cara Mengecek
- Masuk ke Settings → Website → Plugins
- Pastikan plugin Email Notifications dalam kondisi aktif (toggle biru/hijau)
- Cek juga Generic Plugins — nonaktifkan plugin pihak ketiga yang mungkin mengganggu sistem email
Cara Uji Pengiriman Email di OJS
Setelah melakukan konfigurasi, selalu lakukan uji coba sebelum jurnal aktif digunakan.
Metode 1: Fitur Uji Email Bawaan OJS
Di OJS 3.x:
- Masuk sebagai Administrator
- Buka Administration → Site Settings → Email
- Scroll ke bawah, cari tombol Send Test Email (di beberapa versi: “Kirim Email Uji Coba”)
- Masukkan alamat email tujuan → klik kirim
- Periksa inbox — jika tidak ada, cek folder spam
Metode 2: Cek Error Log
Jika test email tidak terkirim, cek log error di:
cache/error.logdi folder OJSerror_logdi folderpublic_html(tergantung hosting)- Log PHP di cPanel → Errors
Error yang umum ditemukan:
| Pesan Error | Artinya |
|---|---|
Connection refused | Port diblokir atau alamat server salah |
Authentication failed | Username/password salah |
SSL certificate error | Perlu nonaktifkan verifikasi SSL sementara |
Could not connect to SMTP host | Server SMTP tidak dapat dijangkau |
Konfigurasi SMTP Rekomendasi
Gmail (Gratis, maks ~500 email/hari)
smtp = On
smtp_server = smtp.gmail.com
smtp_port = 587
smtp_auth = tls
smtp_username = emailanda@gmail.com
smtp_password = xxxx_xxxx_xxxx_xxxx ; App Password 16 karakter
Outlook / Office 365
smtp = On
smtp_server = smtp.office365.com
smtp_port = 587
smtp_auth = tls
smtp_username = emailanda@institusi.ac.id
smtp_password = password_anda
cPanel Mail Server (Email Hosting Sendiri)
smtp = On
smtp_server = mail.namadomainanda.com
smtp_port = 587
smtp_auth = tls
smtp_username = noreply@namadomainanda.com
smtp_password = password_email
SendGrid (Rekomendasi untuk volume tinggi)
smtp = On
smtp_server = smtp.sendgrid.net
smtp_port = 587
smtp_auth = tls
smtp_username = apikey
smtp_password = SG.xxxxxxxxxxxxxxxxxxxx ; API Key SendGrid
Checklist Akhir Sebelum Live
Gunakan checklist ini setelah melakukan konfigurasi email OJS:
- [ ] SMTP server, port, dan enkripsi sudah diisi dengan benar
- [ ] App Password digunakan (untuk Gmail/Outlook dengan 2FA)
- [ ] Test email berhasil dikirim dan masuk ke inbox (bukan spam)
- [ ] SPF record sudah ditambahkan di DNS domain
- [ ] DKIM sudah diaktifkan di cPanel (jika menggunakan mail server sendiri)
- [ ] Email pengirim (
From) menggunakan domain yang sama dengan website jurnal - [ ] Template email notifikasi sudah disesuaikan (nama jurnal, kontak, dll.)
- [ ] Tidak ada plugin yang konflik dengan sistem email
Kesimpulan
Masalah OJS gagal kirim email hampir selalu bisa diselesaikan dengan mengonfigurasi SMTP eksternal yang tepat. Hindari mengandalkan fungsi mail() bawaan PHP karena hampir semua shared hosting modern membatasinya.
Untuk jurnal dengan volume pengiriman rendah (di bawah 500 email/hari), Gmail dengan App Password adalah pilihan paling mudah dan gratis. Untuk volume lebih tinggi, pertimbangkan layanan seperti SendGrid atau Brevo yang menyediakan paket gratis hingga beberapa ribu email per bulan.
Apabila Anda sudah mengikuti semua langkah di atas namun email masih belum terkirim, kemungkinan besar masalah ada di sisi hosting — hubungi support hosting Anda dengan menyebutkan port yang dibutuhkan dan keperluan operasional jurnal ilmiah Anda.
Butuh bantuan lebih lanjut seputar pengelolaan jurnal OJS? Hubungi kami melalui WhatsApp atau kolom komentar di bawah.