Pembahasan kali ini, kita akan mencoba melakukan setting untuk smtp pada gitlab server, mungkin sudah banyak yang share.
Akan tetapi yang saya jelaskan di blog, merupakan yang sudah saya alami. Sehingga yang di jelaskan secara step by step.langkah saja
#email yang digunakan adalah email server bukan email gmail, untuk settingan gmail akan di jelaskan juga
- Akses Server dengan ssh
- Secara default gitlab ada di
/etc/gitlab/
- Kemudian edit gitlab.rb di folder
/etc/gitlab/gitlab.rb
dengan perintah :
vim /etc/gitlab/gitlab.rb
- file yang di edit terlampir
gitlab_rails['gitlab_email_enabled'] = true gitlab_rails['gitlab_email_from'] = 'notifikasi.apps@codeitworld.com'
dan cari file berikut untuk dilakukan perubahan:
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.codeitworld.com" gitlab_rails['smtp_port'] = 25 gitlab_rails['smtp_user_name'] = "acepsf@codeitworld.com" gitlab_rails['smtp_password'] = "zaq123" gitlab_rails['smtp_domain'] = "smtp.codeitworld.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_ssl'] = false
Jika sudah di setting semua save dengan menggunakan perintah berikut jika menggunakan vim
:wq!
Jika sudah di simpan kemudian jalankan perintah :
sudo gitlab-ctl reconfigure
Jika configurasi ulang selesai dan sukses, kita akan masuk console untuk memastikan settingan :
gitlab-rails console
Lalu kita gunakan perintah berikut untuk melakukan check settingan :
ActionMailer::Base.delivery_method
ActionMailer::Base.smtp_settings
Kemudian testing kirim email dengan perintah :
Notify.test_email('acep.sopian@codeitworld.com', 'Message Subject', 'Message Body').deliver_now
Sekian Tutorial Kali ini 🙂
Jika error : OpenSSL::SSL::SSLError (hostname "smtp.codeitworld.com" does not match the server certificate)
tambahkan :
gitlab_rails['smtp_openssl_verify_mode'] = 'none'
Jika error : OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=error: wrong version number
tambahkan :
Jika penyedia SMTP Anda menggunakan porta 25 atau 587, sambungan SMTP mulai tidak dienkripsi tetapi dapat ditingkatkan melalui STARTTLS. Pastikan pengaturan berikut ini ditetapkan:
gitlab_rails'smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_ssl'] = false
Jika penyedia SMTP Anda menggunakan port 465, sambungan SMTP mulai dienkripsi melalui TLS. Pastikan baris berikut ada:
gitlab_rails['smtp_tls'] = true
Sedangkan jika mengalami error Client does not have permissions to send as this sender gitlab
Ada banyak alasan untuk masalah ini, Salah satunya yang paling sering muncul karenasmtp_user_name
dan gitlab_email_from
tidak sama sehingg pastikan email yang digunakan saat mengisi karenasmtp_user_name
dan gitlab_email_from
sama.
gitlab_rails['gitlab_email_from'] = 'gitlabuser@domain.com'
Dan :
gitlab_rails['smtp_user_name'] = "acepsf@codeitworld.com"
Referensi :
- https://docs.google.com/document/d/1jqaO0RSwCFIzbMsLwSpYmqrFyAUn_HoP5jSJgUUejGc/edit
- https://gitlab.com/gitlab-org/gitlab-foss/blob/master/doc/administration/troubleshooting/debug.md#mail-not-working
- https://stackoverflow.com/questions/53331528/gitlab-smtp-test-failed
- https://www.techrunnr.com/smtp-settings-in-gitlab/
- https://docs.bitnami.com/oci/apps/gitlab/configuration/configure-smtp/
- https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/smtp.md
- https://gitlab.com/gitlab-org/gitlab-foss/issues/446
- https://gitlab.com/gitlab-org/omnibus-gitlab/issues/341
- https://gitlab.com/gitlab-org/charts/gitlab/issues/790
- https://gitlab.com/gitlab-org/gitlab-foss/issues/1558
- https://gitlab.com/gitlab-org/omnibus-gitlab/issues/4253
- https://stackoverflow.com/questions/4505795/rails-3-opensslsslsslerror-hostname-was-not-match-with-the-server-certific
- https://github.com/mikel/mail/issues/550
- https://forum.gitlab.com/t/email-setup-with-new-install-not-yet-working/197
- https://docs.gitlab.com/omnibus/settings/smtp.html#troubleshooting-ssltls