HELPER VPS

Mengirim email dari VPS, menghubungkan layanan pengiriman SMTP lewat port 587 dan 465

Semua server HELPER VPS menutup port 25 keluar untuk mencegah spam, sehingga reputasi IP semua server di jaringan yang sama tetap bersih. Kirim email lewat port 587 atau 465 layanan pengiriman email agar lebih mudah sampai di kotak masuk.

Mengapa mengirim lewat port 587 dan 465

Port 25 adalah port untuk meneruskan email antar mail server. Jika mengirim langsung dari server ke mail server penerima, Anda harus mengurus sendiri reputasi IP, reverse DNS, hingga pengelolaan volume kirim, dan email dari IP server baru mudah masuk ke folder spam.

Port 587 dan 465 adalah port submission tempat pengguna yang sudah login menitipkan email. Login ke layanan pengiriman email dengan username dan password lalu titipkan email, maka server pengirim dengan reputasi terkelola yang meneruskannya. Ini cara paling pasti agar email seperti konfirmasi pendaftaran, lupa password, dan notifikasi pesanan sampai di kotak masuk.

  • Port 587: terhubung dalam teks biasa lalu memulai enkripsi dengan STARTTLS. Port yang dipakai secara default oleh sebagian besar layanan dan program.
  • Port 465: terhubung dengan enkripsi TLS sejak awal. Di layar pengaturan sering tampil sebagai SSL atau SSL/TLS.

Memilih layanan pengiriman email

Layanan pengiriman email secara garis besar ada dua. Pertama, layanan email transaksional yang mengirim email notifikasi website dan aplikasi dalam jumlah besar; kedua, fitur SMTP dari akun email kantor atau pribadi yang sudah Anda pakai. Apa pun pilihannya, cukup siapkan empat info di bawah dan persiapan pengaturan selesai.

  • Alamat server SMTP: misalnya smtp.example.com
  • Port: 587 (STARTTLS) atau 465 (SSL/TLS)
  • Username: ID atau alamat email yang diberikan layanan
  • Password: password khusus SMTP atau API key dari layanan

Untuk toko online atau layanan dengan volume kirim besar, layanan email transaksional praktis karena mengurus log pengiriman, penanganan bounce, hingga pengelolaan berhenti berlangganan. Untuk beberapa notifikasi saja, SMTP dari akun email sudah cukup.

Memeriksa koneksi SMTP dari server

Sebelum mengatur, pastikan koneksi dari server ke layanan pengiriman berjalan baik. Perintah di bawah hanya memeriksa koneksi dan tidak mengirim email.

Terminal
nc -vz smtp.example.com 587
openssl s_client -starttls smtp -connect smtp.example.com:587 -crlf -quiet
openssl s_client -connect smtp.example.com:465 -crlf -quiet

Jika baris pertama menampilkan succeeded atau open, dan perintah openssl menampilkan sapaan server yang diawali 220, semuanya siap. Keluar dengan Ctrl+C. Jika perintah nc tidak ada, instal dengan apt install -y netcat-openbsd di Ubuntu dan Debian, atau dnf install -y nmap-ncat di AlmaLinux.

Menghubungkan Postfix ke layanan pengiriman

Untuk mengumpulkan email dari program server, notifikasi cron, dan perintah mail di satu tempat, atur Postfix sebagai relay yang meneruskan ke layanan pengiriman. Semua email di dalam server keluar dengan login lewat port 587.

Langkah 1. Instalasi

Ubuntu, Debian
apt install -y postfix libsasl2-modules mailutils

Saat instalasi ditanya jenis konfigurasi email, pilih Internet Site, dan isi nama email dengan domain Anda. Di AlmaLinux 10, instal dengan dnf install -y postfix cyrus-sasl-plain s-nail dan nyalakan dengan systemctl enable --now postfix.

Langkah 2. Pengaturan relay

Terminal
postconf -e 'relayhost = [smtp.example.com]:587'
postconf -e 'smtp_sasl_auth_enable = yes'
postconf -e 'smtp_sasl_password_maps = texthash:/etc/postfix/sasl_passwd'
postconf -e 'smtp_sasl_security_options = noanonymous'
postconf -e 'smtp_tls_security_level = encrypt'
postconf -e 'inet_interfaces = loopback-only'

inet_interfaces = loopback-only membuat server hanya menerima email yang dikirim dari dalam server, sehingga server ini tidak bisa dipakai pihak luar sebagai relay email.

Langkah 3. Simpan info login

Terminal
echo '[smtp.example.com]:587 SMTP_USER:SMTP_PASSWORD' > /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
systemctl restart postfix

Jika layanan memakai port 465, ganti port di relayhost dan sasl_passwd menjadi 465 lalu tambahkan satu baris postconf -e 'smtp_tls_wrappermode = yes'.

Langkah 4. Uji kirim dan periksa log

Terminal
echo "VPS mail test" | mail -s "Test from VPS" you@example.com
postqueue -p
journalctl -t postfix/smtp -n 20

Jika status=sent terlihat di log, berarti layanan pengiriman sudah menerima email. postqueue -p menampilkan daftar email yang belum terkirim. Jika info login sudah diperbaiki, jalankan systemctl restart postfix lalu kirim ulang dengan postqueue -f.

Pengaturan SMTP di WordPress dan aplikasi

Sebagian besar website dan aplikasi punya kolom pengaturan SMTP, jadi bisa langsung dihubungkan ke layanan pengiriman tanpa Postfix di server. Untuk WordPress, instal plugin SMTP dan masukkan nilai di bawah, maka email pendaftaran dan lupa password terkirim lewat layanan itu.

  • Host SMTP: alamat layanan pengiriman
  • Enkripsi: TLS (STARTTLS) untuk port 587, SSL untuk port 465
  • Port: 587 atau 465
  • Autentikasi: aktifkan, masukkan username dan password
  • Alamat pengirim: alamat di domain Anda (misalnya no-reply@example.com)

Aplikasi Node.js, PHP, dan Python juga mengatur library email dengan nilai yang sama. Jangan menulis password langsung di kode, masukkan lewat environment variable atau file konfigurasi agar rapi. Instalasi WordPress ada di panduan instalasi WordPress.

Menambahkan SPF, DKIM, dan DMARC di DNS domain

Mail server penerima memeriksa lewat record DNS apakah email ini benar benar datang dari tempat yang diizinkan domain Anda. Dengan memasang tiga record ini, tingkat masuk ke kotak masuk naik signifikan.

  • SPF: daftar server yang boleh mengirim email domain Anda. Masukkan nilai include dari layanan pengiriman ke satu record TXT.
  • DKIM: tanda tangan digital yang menempel di email. Masukkan apa adanya record TXT atau CNAME yang dibuat di layar layanan pengiriman.
  • DMARC: menentukan perlakuan untuk email yang gagal pemeriksaan SPF dan DKIM. Di awal, mulai dengan pengaturan yang hanya menerima laporan seperti di bawah.
DNS TXT
_dmarc.example.com  TXT  "v=DMARC1; p=none; rua=mailto:dmarc@example.com"

Setelah beberapa minggu memantau laporan dan memastikan semua email lolos, naikkan ke p=quarantine, lalu p=reject untuk mencegah pemalsuan domain.

Menerima email dan langkah selanjutnya

Untuk menerima email ke domain Anda, masukkan record MX layanan email hosting ke domain. Jika email masuk ditangani email hosting dan email notifikasi keluar ditangani layanan pengiriman, server bisa fokus pada website dan aplikasi.

Dengan mengirim lewat layanan pengiriman email, meski server dipindah atau dibuat baru, cukup pindahkan beberapa baris pengaturan dan semuanya berlanjut. Meski IP server berubah, reputasi pengiriman tetap di sisi layanan, jadi tingkat keterkiriman email tidak terganggu saat situs dipindah ke lokasi lain.

Port lain bisa dibuka bebas sesuai layanan Anda. Cara membuka hanya port yang dipakai ada di panduan firewall dasar, dan aturan pemakaian server ada di kebijakan penggunaan.

Panduan terkait

Pengaturan yang bagus dilakukan setelah panduan ini.

Lihat semua panduan