4.2. Pengujian Server
4.2.2. Pengujian pengiriman email dari mail server 1 dan mail server 2 Pengujian pengiriman email dengan menggunakan console dari kedua
email server tersebut.
4.2.2.1.Mail Server 1
Pada mail server 1 dilakukan pengujian untuk pengiriman email. Sehingga mail server 1 dapat didaftarkan pada email gateway untuk load balance dan fail over.
Gambar 4.16. Pengujian Pengiriman Email dari Mail 1 4.2.2.2.Mail Server 2
Pada mail server 1 dilakukan pengujian untuk pengiriman email. Sehingga mail server 1 dapat didaftarkan pada email gateway untuk load balance dan fail over.
Gambar 4.17. Pengujian Pengiriman Email dari Mail 2 4.2.3. Pengujian pembatasan akses ke mail server 1 dan mail server 2
Pengujian yang dilakukan dengan melakukan telnet ke mail server 1 dan mail server 2 dari IP address client yang tidak diizinkan untuk pengiriman email. 4.2.3.1.Mail Server 1
Dari konfigurasi relay pada bagian implementasi postfix, maka dilakukan pengujian pengiriman email dari IP yang tidak di izinkan untuk menggunakan email server 1 sehingga akan memberikan output berupa relay access denied.
4.2.3.2.Mail Server 2
Dari konfigurasi relay pada bagian implementasi postfix, maka dilakukan pengujian pengiriman email dari IP yang tidak di izinkan untuk menggunakan email server 2 sehingga akan memberikan output berupa relay access denied.
Gambar 4.19. Pengujian Pembatasan akses penggunaan Mail 2 4.2.4. Pengujian load balance pada email gateway.
Pengujian load balance yang dilakukan adalah untuk menganalisa stabilitas dan fault tolerant dari kinerja email gateway.
Pengujian yang dilakukan dengan menggunakan dua buah tools yaitu : a. PHPMailer
b. Pommo Email Blast
Dari hasil pengujian tersebut akan dianalisa pada sisi header pada email yang telah terkirim pada email address list.
4.2.4.1.PHPMailer
Untuk pengujian menggunakan PHPMailer maka dibuat simple script untuk pengiriman email dari phpmailer. Seperti di bawah ini.
<?php
require_once 'phpmailer/class.smtp.php'; require_once 'phpmailer/class.pop3.php'; $mail = new PHPMailer;
$mail_body = 'This is The Test Email'; $mail->isSMTP(); $mail->Host = '192.168.10.2'; $mail->SMTPAuth = false; $mail->Port = 25; $mail->Username = ''; $mail->Password = ''; $mail->setFrom('fahmi@mercubuana.edu');
$mail->Subject = "PHPMailer Simple database mailing list test";
$recipients =
array("fahmi@mercubuana.edu","mustaqim@mercubuana.edu","devi.mercubuana .edu","nurmalita@mercubuana.edu");
foreach ($recipients as $i => $mail_add) { $mail->addAddress($mail_add); $mail->Body = $mail_body.$i; if(!$mail->send()){ echo $mail->ErrorInfo; } else {
echo "Mail Sent..."; }
$mail->clearAddresses(); $mail->SmtpClose(); }
Pada Script diatas terdapat konfigurasi untuk mendaftarkan konfigurasi email gateway seperti pada script dibawah ini.
$mail->isSMTP(); $mail->Host = '192.168.10.2'; $mail->SMTPAuth = false; $mail->Port = 25; $mail->Username = ''; $mail->Password = ''; $mail->setFrom('fahmi@mercubuana.edu');
$mail->Subject = "PHPMailer Simple database mailing list test"; Dan pada script dibuat alias list recipients seperti dibawah ini.
$recipients =
array("fahmi@mercubuana.edu","mustaqim@mercubuana.edu","devi.mercubuana .edu","nurmalita@mercubuana.edu");
Pada script tersebut dibuat logic pemrograman untuk mengirimkan email yang akan dikirimkan ke address list recipient dan mensplit address recipient tersebut. Dan pada setiap pengiriman akan di close connection pada pengiriman emailnya.
foreach ($recipients as $i => $mail_add) { $mail->addAddress($mail_add); $mail->Body = $mail_body.$i; if(!$mail->send()){ echo $mail->ErrorInfo; } else {
echo "Mail Sent..."; }
$mail->clearAddresses(); $mail->SmtpClose(); }
Terkahir dari script tersebut disimpan dengan nama index.php pada folder email yang terdapat di root apache. Dan diakses melalui web browser dengan cara.
Http://192.168.10.2/email/index.php
Jika email telah terkirm maka harus di check pada bagian email header dari email yang telah terkirim seperti dibawah ini.
Gambar 4.20. Pengujian PHPMailer – Mail Client 1
Gambar 4.21. Pengujian PHPMailer – Mail Client 2
Gambar 4.22. Pengujian PHPMailer – Mail Client 3
Gambar 4.23. Pengujian PHPMailer – Mail Client 4
Pada gambar – gambar dapat dilihat bahwa pada array address list pada PHPMailer Script yang dideskripsikan pada script tersebut secara berurut, maka
hasil dari pengujian tersebut juga berurutan sesuai round robin, stabilitas, dan fault tolerant pada load balance.
Dari pengujian diatas dapat dilihat dan dianalisa bahwa rumus dari pengukuran load balance round robin bahwa jumlah email address dibagi jumlah server load balance sesuai dengan hasil pengujian dan tidak adanya kelebihan beban pada satu buah email server saja.
4.2.4.2.Pommo.
Untuk pengujian menggunakan pommo simple email blast. Langkah awal yang harus dilakukan adalah login ke site pommo pada server email gateway seperti dibawah ini.
Gambar 4.25. Pommo Login
Dan selanjutnya buat subscriber pada pommo dengan cara memilih menu subscriber.
Gambar 4.26. Pommo Menu
Selanjutnya melakukan import file CSV yang berisi list email subscriber dengan memilih menu import.
Gambar 4.27. Pommo Menu Subscriber
Berikut adalah tampilan menu import. Pada menu ini kita upload file csv yang berisi email list untuk subscriber.
Gambar 4.28. Pommo Menu Import
Setelah file berhasil diimport maka yang perlu dilakukan adalah merefrensikan bahwa file yang diupload adalah email.
Gambar 4.29. Pommo Menu Import 2
Berikut adalah tampilan akhir proses import yang berisi keterangan import telah selesai.
Gambar 4.30. Pommo Menu Import 3
Selanjutnya adalah proses pengujian pengiriman email blast menggunakan pommo dengan memilih send pada mailing page.
Gambar 4.31. Pommo Menu Mailing 1
Jika sudah dipilih maka tampilan halaman akan beralih seperti dibawah ini. Dan perlu diinputkan subject dari email yang akan diblast dan juga nama pengirim beserta email pengirim. Jika sudah diisi klik tombol continue.
Gambar 4.32. Pommo Menu Mailing 2
Tahapan selanjutnya akan dilakukan pemilihan template untuk emailnya. Template yang akan dipakai pada tugas akhir ini adalah blank template dengan memilih tombol skip.
Tahapan selanjutnya adalah mengisi pesan pada body email yang akan diblast.
Gambar 4.34. Pommo Menu Mailing 4
Dan tahapan terakhir adalah pengiriman email dengan memilih tombol send mailing.
Gambar 4.35. Pommo Menu Mailing 5
Berikut adalah proses pengiriman email blast menggunakan pommo.
Dan dari proses pengiriman email di atas dilakukan pengujian load balance dengan cara melakukan check terhadap email header dari email yang diterima.
Gambar 4.37. Hasil Pengujian Load Balance – Email Client 1
Gambar 4.38. Hasil Pengujian Load Balance – Email Client 2
Gambar 4.39. Hasil Pengujian Load Balance – Email Client 3
Gambar 4.40. Hasil Pengujian Load Balance – Email Client 4
Dari keempat gambar diatas dapat dilihat bahwa fungsi load balance pada email gateway berfungsi pada simple applikasi email blast dengan menggunakan empat address list yang telah diimport untuk user subscriber, dan hasil dari pengujian tersebut juga berurutan sesuai round robin, stabilitas, dan fault tolerant pada load balance.
Dari pengujian diatas dapat dilihat dan dianalisa bahwa rumus pengukuran load balance round robin bahwa jumlah email address dibagi jumlah server load balance sesuai dengan hasil pengujian dan tidak adanya kelebihan beban pada satu buah email server saja.
4.2.5. Pengujian Fail Over pada email gateway. Pengujian fail over dilakukan dengan du acara, yaitu :
Shutdown Mail 1 dan membiarkan Mail 2 masih menyala Shutdown Mail 2 dan membiarkan Mail 1 masih menyala
Dari dua buah scenario di atas. Maka dilakukan pengujian dengan menggunakan console dan pengecheckan terhadap email header.
4.2.5.1.Console.
Jika Mail1 down maka ketika di telnet akan selalu mengarah ke Mail2
Gambar 4.41. Hasil Pengujian Fail Over 1 – Mail Server 1 Down Maupun ketika Mail2 down maka akan selalu mengarah ke Mail1
Gambar 4.42. Hasil Pengujian Fail Over 2 – Mail Server 2 Down 4.2.6. BlackBox Testing
Dari semua pengujian yang telah dilakukan maka dibuatlah blackbox testing table untuk merangkum pengujian yang telah dilakukan.
Table 4.1. BlackBox Testing
No. Skenario Pengujian Hasil yang diharapkan Checklist Server Mail 1
1 Koneksi antar server Server Mail 1 dapat terkoneksi ke semua server.
2 SMTP Server dapat mengirimkan email
Server Mail 1 dapat
mengirimkan email melalui smtp localhost
Valid
3 SMTP Server dapat di akses dari server lainnya
Server Mail 2 dan Server HAProxy dapat mengirimkan email melalui SMTP Mail 1
Valid
4 SMTP Server hanya
dapat di akses dari network yang di whitelist
Network selain yang di whitelist pada SMTP Server tidak dapat menggunakan pengiriman email
Valid
Server Mail 2
1 Koneksi antar server Server Mail 2 dapat terkoneksi ke semua server.
Valid
2 SMTP Server dapat
mengirimkan email
Server Mail 2 dapat
mengirimkan email melalui smtp localhost
Valid
3 SMTP Server dapat di akses dari server lainnya
Server Mail 1 dan Server HAProxy dapat mengirimkan email melalui SMTP Mail 2
Valid
4 SMTP Server hanya
dapat di akses dari network yang di whitelist
Network selain yang di whitelist pada SMTP Server tidak dapat menggunakan pengiriman email
Valid
Server HA Proxy
1 Koneksi antar server Server HAProxy dapat
terkoneksi ke semua server.
Valid
2 Port 25 Untuk Mail
Gateway dapat diakses dari server lain
Server lain dapat melakukan akses ke port 25
Valid
3 Forwarding Port 25 ke Server lain
Ketika di telnet port 25 akan di forward ke server yang di daftarkan
Valid
4 Load Balance Email
Server Gateway
Load Balance pada Email Gateway dapat berfungsi dengan
cara melihat dari hasil header email dan telnet
5 Fail Over Email Server Gateway
Fail Over ketika Mail 1 down maka semua koneksi akan di forward ke mail 2, maupun ketika mail 2 down maka semua koneksi akan di forward ke mail 1
Valid
Email Client
1 Koneksi antar server Server HAProxy dapat
terkoneksi ke semua server.
Valid
2 DNS Server pada server email client dapat di lookup
Semua Server dapat melakukan
nslookup untuk domain
mercubuana.edu
Valid
3 MX record pada server email client dapat di lookup
Semua Server dapat melakukan
check mx record untuk
mengetahui bahwa ada mailbox pada server tersebut
Valid
4 Pop3 Service pada email client dapat menerima email
Email Client dapat menerima email yang dikirimkan
Valid
5 Pengecheckan email
header pada semua email client yang di kirimkan email oleh system
Email client dapat mengecheck email header bahwa email yang di kirimkan dari semua server