Open Journal System

OJS Gagal Kirim Email: Penyebab dan Cara Mengatasinya

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

  1. Mengapa Email di OJS Sering Bermasalah?
  2. Penyebab 1: Konfigurasi SMTP Salah atau Kosong
  3. Penyebab 2: Email Masuk Folder Spam
  4. Penyebab 3: Hosting Memblokir Port SMTP
  5. Penyebab 4: Kredensial SMTP Tidak Valid
  6. Penyebab 5: Masalah pada config.inc.php
  7. Penyebab 6: Plugin Email Tidak Aktif
  8. Cara Uji Pengiriman Email di OJS
  9. Konfigurasi SMTP Rekomendasi (Gmail, Outlook, cPanel)
  10. 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:

FieldKeterangan
SMTP ServerAlamat server SMTP (contoh: smtp.gmail.com)
SMTP Port587 (TLS) atau 465 (SSL)
SMTP AuthenticationCentang/aktifkan
UsernameAlamat email pengirim
PasswordPassword email atau App Password
EnkripsiTLS 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:

ProviderPortEnkripsi
Gmail587TLS (STARTTLS)
Gmail465SSL
Outlook/Office365587TLS
cPanel Mail587TLS
cPanel Mail465SSL

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:

  1. Buka myaccount.google.com
  2. Masuk ke Security → 2-Step Verification (aktifkan dulu jika belum)
  3. Scroll ke bawah, klik App passwords
  4. Pilih Mail dan Other (Custom name), ketik “OJS”
  5. Klik Generate — salin 16 karakter password yang muncul
  6. 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.php akan menimpa pengaturan yang dimasukkan melalui Admin Panel. Pastikan keduanya konsisten.

Nilai smtp_auth yang Benar

EnkripsiNilai smtp_auth
SSL (port 465)ssl
TLS/STARTTLS (port 587)tls
Tanpa enkripsiOff

Penyebab 6: Plugin Email Tidak Aktif

Di OJS 3.x, beberapa fungsi email bergantung pada plugin yang harus diaktifkan secara manual.

Cara Mengecek

  1. Masuk ke Settings → Website → Plugins
  2. Pastikan plugin Email Notifications dalam kondisi aktif (toggle biru/hijau)
  3. 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:

  1. Masuk sebagai Administrator
  2. Buka Administration → Site Settings → Email
  3. Scroll ke bawah, cari tombol Send Test Email (di beberapa versi: “Kirim Email Uji Coba”)
  4. Masukkan alamat email tujuan → klik kirim
  5. Periksa inbox — jika tidak ada, cek folder spam

Metode 2: Cek Error Log

Jika test email tidak terkirim, cek log error di:

  • cache/error.log di folder OJS
  • error_log di folder public_html (tergantung hosting)
  • Log PHP di cPanel → Errors

Error yang umum ditemukan:

Pesan ErrorArtinya
Connection refusedPort diblokir atau alamat server salah
Authentication failedUsername/password salah
SSL certificate errorPerlu nonaktifkan verifikasi SSL sementara
Could not connect to SMTP hostServer 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.

Alam
Ditulis oleh
Alam
← Semua Tulisan

Leave a Reply

Your email address will not be published. Required fields are marked *