Berikut adalah contoh pengiriman email menggunaan Postfix Authentication dengan TLS.
Pastikan Anda memiliki account vimana aktif dengan domain yang teregister untuk pengiriman email.
Username: vimanamail_smtpuser
Password : vimanamail_smtppassword
Konfigurasi ini berjalan pada Server Linux ubuntu 18 atau di atasnya, pastikan sudah memiliki OS yang sesuai dan silahkan ikuti panduan.
Installasi Postfix dan Stunnel
#update pakage OS
apt update && apt upgrade -y
#instalasi pakage postfix dan juga modul Libsasl2 dan stunnel
apt install postfix libsasl2-modules stunnel -y
#check service postfix
systemctl status postfix
#check service stunnel
systemctl status stunnel4
#Backup semua configure postfix yang ada
cp /etc/postfix/main.cf /etc/postfix/main.cf.backup
cp /etc/postfix/master.cf /etc/postfix/master.cf.backup
Cek komunikasi network
telnet smtp.defend.my.id 465
Konfigurasi Stunnel /etc/default/stunnel4
######################################
# /etc/default/stunnel
# Julien LEMOINE <speedblue@debian.org>
# September 2003
# Change to one to enable stunnel automatic startup
ENABLED=1
FILES="/etc/stunnel/*.conf"
OPTIONS=""
# Change to one to enable ppp restart scripts
PPP_RESTART=0
# Change to enable the setting of limits on the stunnel instances
# For example, to set a large limit on file descriptors (to enable
# more simultaneous client connections), set RLIMITS="-n 4096"
# More than one resource limit may be modified at the same time,
# e.g. RLIMITS="-n 4096 -d unlimited"
RLIMITS=""
Konfigurasi /etc/stunnel/stunnel.conf
client = yes
output = /etc/stunnel/stunnel.log
[smtp-tls-wrapper]
accept = 11125
connect = smtp.defend.my.id:465
Konfigurasi Postfix /etc/postfix/main.cf
Note konfigurasi main.cf :
pada opsi mynetworks anda dapat melakukan setting sesuai dengan network yang dapat dijinkan mengakses smtp postfix
contoh 172.16.0.0/16
################# main.cf ####################
relayhost = [127.0.0.1]:11125
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
################################END#######################################
Konfigurasi SASL /etc/postfix/sasl_passwd
127.0.0.1:11125 vimanamail_smtpuser:vimanamail_smtppassword
Finalisasi
postmap /etc/postfix/sasl_passwd
systemctl restart stunnel4 postfix
Testing Menggunakan Command Prompt
AUTH LOGIN menggunakan base64.
Lakukan encode untuk SMTP user dan juga password ke base64 berikut alamat link https://www.base64encode.org/
root@ubuntu20-ts:/home/ts# telnet 127.0.0.1 11125
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 vimanamail smtp
EHLO server1
250-vimanamail smtp Hello server1
250 AUTH PLAIN LOGIN CRAM-MD5
AUTH LOGIN
334 VXNlcm5hbWU6
base64_vimanamail_smtpuser
334 UGFzc3dvcmQ6
base64_vimanamail_smtppassword
235 Authentication successful
MAIL FROM: admin@YOURDOMAIN
250 Ok
rcpt to: dest@DESTDOMAIN
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
SUBJECT: TEST MAIL
TEST MAIL
.
250 Ok
^]
telnet> quit
Testing Menggunakan ThunderBird
Pengaturan outgoing
Arahkan ke IP POSTFIX diatas dengan tujuan Port 25 dan lakukan test Kirim email
# Pastikan contoh log terkirim sebagai berikut
root@ubuntu20-ts:/home/ts# tail -f /var/log/mail.log
Jun 22 03:05:22 ubuntu20-ts postfix/smtpd[36256]: connect from unknown[x.x.x.x]
Jun 22 03:05:22 ubuntu20-ts postfix/smtpd[36256]: C5D1B480C2E: client=unknown[x.x.x.x]
Jun 22 03:05:22 ubuntu20-ts postfix/cleanup[36260]: C5D1B480C2E: message-id=<38107803-f86a-eea6-be09-2cc8735c02e0@YOURDOMAIN>
Jun 22 03:05:22 ubuntu20-ts postfix/qmgr[28625]: C5D1B480C2E: from=<sender@YOURDOMAIN>, size=655, nrcpt=1 (queue active)
Jun 22 03:05:22 ubuntu20-ts postfix/smtpd[36256]: disconnect from unknown[x.x.x.x] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Jun 22 03:05:23 ubuntu20-ts postfix/smtp[36261]: C5D1B480C2E: to=<target@DESTDOMAIN>, relay=127.0.0.1[127.0.0.1]:11125, delay=0.38, delays=0.04/0.01/0.07/0.27, dsn=2.0.0, status=sent (250 Ok)
Jun 22 03:05:23 ubuntu20-ts postfix/qmgr[28625]: C5D1B480C2E: removed