Menyiapkan Amavis dan ClamAV di Server Email CentOS 8 / RHEL 8

Ini adalah bagian 10 di server email CentOS 8 / RHEL 8 dari seri tutorial awal . Pada artikel ini, saya akan menunjukkan kepada Anda bagaimana menggunakan Amavis dan ClamAV untuk memindai virus dalam pesan email.
Amavis (A Mail Virus Scanner) adalah antarmuka berkinerja tinggi antara agen transfer pesan (MTA) seperti Postfix dan filter konten. Filter konten adalah program yang memindai header dan isi pesan email, dan biasanya mengambil beberapa tindakan berdasarkan apa yang ditemukannya. Contoh paling umum dari filter konten adalah pemindai virus ClamAV dan SpamAssassin
Ini adalah bagian 10 di server email CentOS 8 / RHEL 8 dari seri tutorial awal . Pada artikel ini, saya akan menunjukkan kepada Anda bagaimana menggunakan Amavis dan ClamAV untuk memindai virus dalam pesan email.
Amavis (A Mail Virus Scanner) adalah antarmuka berkinerja tinggi antara agen transfer pesan (MTA) seperti Postfix dan filter konten. Filter konten adalah program yang memindai header dan isi pesan email, dan biasanya mengambil beberapa tindakan berdasarkan apa yang ditemukannya. Contoh paling umum dari filter konten adalah pemindai virus ClamAV dan SpamAssassin .
Amavis menggunakan protokol SMTP standar dan juga dapat menggunakan antarmuka milter Sendmail. Ini biasa digunakan untuk
- pemindaian virus dengan mengintegrasikan ClamAV (Clam AntiVirus)
- pemeriksaan spam dengan mengintegrasikan dengan SpamAssassin
- Penandatanganan dan verifikasi DKIM. (Sebenarnya, saya lebih suka menggunakan OpenDKIM untuk penandatanganan dan verifikasi DKIM.)
Prasyarat
Anda harus menyelesaikan setidaknya bagian 1 (server SMTP Postfix) dan bagian 2 (server IMAP Dovecot) dari server email CentOS 8 / RHEL 8 dari seri tutorial awal. Perhatikan bahwa jika Anda menggunakan iRedMail atau Modoboa untuk menyiapkan server email Anda, maka Amavis dan ClamAV sudah diinstal dan dikonfigurasi, jadi Anda tidak perlu mengikuti tutorial ini.
Peringatan : Amavis dan ClamAV membutuhkan RAM yang cukup besar. Pastikan Anda memiliki setidaknya 1,3 GB RAM kosong di server Anda sebelum menginstal Amavis dan ClamAV. Seluruh tumpukan server email (Postfix, Dovecot, Amavis, ClamAV, SpamAssassin, OpenDKIM, MySQL / MariaDB, PostfixAdmin, dan Roundcube Webmail) membutuhkan setidaknya 3 GB RAM untuk berjalan dengan lancar. Jika RAM Anda habis, Anda akan mengalami masalah seperti server email menjadi offline atau tidak responsif.
Langkah 1: Instal Amavis di CentOS 8 / RHEL 8
Amavis ditulis dalam Perl. Kita perlu mengaktifkan repositori EPEL (Extra Packages for Enterprise Linux) dan CodeReady Linux Builder di RHEL 8 untuk menginstal beberapa dependensi Perl untuk Amavis.
sudo dnf menginstal epel-release sudo subscription-manager repos --enable = codeready-builder-for-rhel-8-x86_64-rpms
Di CentOS 8 , aktifkan repositori EPEL (Paket Ekstra untuk Enterprise Linux) dan PowerTools untuk menginstal dedpendensi Perl untuk Amavis.
sudo dnf install epel-release -y sudo dnf config-manager --set-enabled PowerTools
Kemudian instal amavis
paketnya.
sudo dnf menginstal amavis -y
Untuk memeriksa nomor versi, jalankan
amavisd -V
Output sampel:
amavisd-baru-2.12.0 (20190725)
Virus biasanya menyebar sebagai lampiran pada pesan email. Instal paket berikut untuk Amavis untuk ekstrak dan memindai arsip file dalam pesan email seperti .7z
, .cab
, .doc
, .exe
, .iso
, .jar
, dan .rar
file.
sudo dnf -y install arj bzip2 file cpio gzip nomarch spax unrar p7zip unzip zip lrzsz lzip lz4 lzop
Perhatikan bahwa jika server Anda tidak menggunakan nama domain yang memenuhi syarat (FQDN) sebagai nama host, Amavis mungkin gagal untuk memulai. Dan nama host OS mungkin berubah, jadi disarankan untuk menetapkan nama host yang valid langsung di file konfigurasi Amavis.
sudo nano /etc/amavisd/amavisd.conf
Temukan baris berikut.
$ mydomain = 'example.com'; # default yang nyaman untuk pengaturan lain
Juga disarankan untuk mengubah nilai default mydomain ke nama domain Anda sendiri.
$ mydomain = 'linuxbabe.com'; # default yang nyaman untuk pengaturan lain
Kemudian temukan baris berikut.
# $ myhostname = 'host.example.com'; # harus merupakan nama domain yang sepenuhnya memenuhi syarat!
Hapus karakter komentar pertama (#) dan ubah host.example.com
ke nama host server email Anda seperti di bawah ini.
$ myhostname = 'mail.linuxbabe.com'; # harus merupakan nama domain yang sepenuhnya memenuhi syarat!
Simpan dan tutup file. Sekarang kita bisa memulai Amavis.
sudo systemctl mulai amavisd
Aktifkan mulai otomatis saat boot.
sudo systemctl mengaktifkan amavisd
Periksa statusnya:
status systemctl amavisd
Output sampel:
● amavisd.service - Pemeriksa konten surat Amavis Dimuat: dimuat (/usr/lib/systemd/system/amavisd.service; diaktifkan; preset vendor: dinonaktifkan) Aktif: aktif (berjalan) sejak Kam 2020-11-19 01:21:26 EST; 8 detik yang lalu Docs: http://www.ijs.si/software/amavisd/#doc PID Utama: 18782 (/ usr / sbin / amavi) Tugas: 3 (batas: 12502) Memori: 149.5M CGroup: /system.slice/amavisd.service ├─18782 / usr / sbin / amavisd (master) ├─18806 / usr / sbin / amavisd (anak perawan) └─18807 / usr / sbin / amavisd (anak perawan)
Petunjuk : Jika perintah di atas tidak langsung keluar, tekan Q.
Seperti yang Anda lihat, Amavis sedang berlari. Jika tidak berjalan, Anda dapat memeriksa log dengan ( sudo journalctl -eu amavisd
).
Amavisd mendengarkan 127.0.0.1:10024 , seperti yang dapat dilihat dengan:
sudo ss -lnpt | grep amavi
Dan itu berjalan sebagai amavis
pengguna.
Langkah 2: Integrasikan Server SMTP Postfix Dengan Amavis
Amavis bekerja sebagai proxy SMTP. Email dikirim melalui SMTP, diproses, dan diumpankan kembali ke MTA melalui koneksi SMTP baru.
Jalankan perintah berikut, yang memberi tahu Postfix untuk mengaktifkan pemfilteran konten dengan mengirimkan setiap pesan email masuk ke Amavis, yang mendengarkan di 127.0.0.1:10024 .
sudo postconf -e "content_filter = smtp-amavis: [127.0.0.1]: 10024"
Juga, jalankan perintah berikut. Ini akan menunda koneksi Postfix ke filter konten hingga seluruh pesan email telah diterima, yang dapat mencegah filter konten dari membuang-buang waktu dan sumber daya untuk klien SMTP yang lambat.
sudo postconf -e "smtpd_proxy_options = speed_adjust"
Kemudian edit master.cf
file tersebut.
sudo nano /etc/postfix/master.cf
Tambahkan baris berikut di akhir file. Ini menginstruksikan Postfix untuk menggunakan komponen klien SMTP khusus yang dipanggil smtp-amavis
untuk mengirimkan pesan email ke Amavis. Harap izinkan setidaknya satu karakter spasi (tab atau bilah spasi) sebelum masing-masing -o
. Dalam konfigurasi postfix, karakter whitespace sebelumnya berarti bahwa baris ini merupakan kelanjutan dari baris sebelumnya.
smtp-amavis unix - - n - 2 smtp -o syslog_name = postfix / amavis -o smtp_data_done_timeout = 1200 -o smtp_send_xforward_command = yes -o disable_dns_lookups = yes -o max_use = 20 -o smtp_tls_security_level = tidak ada
Kemudian tambahkan baris berikut di akhir file. Ini memberitahu Postfix untuk menjalankan daemon smtpd tambahan yang mendengarkan pada 127.0.0.1:10025 untuk menerima pesan email kembali dari Amavis.
127.0.0.1:10025 inet n - n - - smtpd -o syslog_name = postfix / 10025 -o content_filter = -o mynetworks_style = host -o mynetworks = 127.0.0.0 / 8 -o local_recipient_maps = -o relay_recipient_maps = -o strict_rfc821_envelopes = yes -o smtp_tls_security_level = tidak ada -o smtpd_tls_security_level = tidak ada -o smtpd_restriction_classes = -o smtpd_delay_reject = tidak -o smtpd_client_restrictions = permit_mynetworks, tolak -o smtpd_helo_restrictions = -o smtpd_sender_restrictions = -o smtpd_recipient_restrictions = permit_mynetworks, tolak -o smtpd_end_of_data_restrictions = -o smtpd_error_sleep_time = 0 -o smtpd_soft_error_limit = 1001 -o smtpd_hard_error_limit = 1000 -o smtpd_client_connection_count_limit = 0 -o smtpd_client_connection_rate_limit = 0 -o accept_override_options = no_header_body_checks, no_unknown_recipient_checks, no_address_mappings
Simpan dan tutup file. Mulai ulang Postfix agar perubahan diterapkan.
sudo systemctl restart postfix
Langkah 3: Integrasikan Amavis dengan ClamAV
Sekarang Postfix dapat mengirimkan email masuk ke Amavis, kita perlu menginstal pemindai virus ClamAV dan mengintegrasikannya dengan Amavis, sehingga email yang masuk dapat dipindai oleh ClamAV.
Instal ClamAV di CentOS 8 / RHEL 8.
sudo dnf menginstal clamav clamav-lib clamav-data clamav-update -y
Akan ada dua layanan systemd yang dipasang oleh ClamAV:
clamd@amavisd.service
: daemon ruang pengguna Clam AntiVirusclamav-freshclam.service
: pembaru basis data virus ClamAV
Pertama, mulai clamav-freshclam.service
.
sudo systemctl mulai clamav-freshclam.service
Aktifkan mulai otomatis saat boot.
sudo systemctl mengaktifkan clamav-freshclam.service
Periksa statusnya.
status systemctl clamav-freshclam
Seperti yang Anda lihat, ini aktif (berjalan) dan menggunakan 27,8 RAM di server email saya. Kemudian periksa jurnal / log.
sudo journalctl -eu clamav-freshclam
Keluaran:
Petunjuk: Jika perintah di atas tidak langsung keluar, tekan tombol Q untuk membuatnya berhenti.
Kita dapat melihat freshclam
3 database virus yang diunduh. CVD adalah singkatan dari ClamAV Virus Database.
- daily.cvd
- main.cvd
- bytecode.cvd
Ini clamav-freshclam.service
akan memeriksa pembaruan basis data virus ClamAV sekali per jam.
Sekarang kita bisa mulai clamd@amavisd.service
.
sudo systemctl mulai clamd@amavisd.service
Aktifkan mulai otomatis saat boot.
sudo systemctl mengaktifkan clamd@amavisd.service
Periksa statusnya:
status systemctl clamd@amavisd.servic
Seperti yang Anda lihat, itu sedang berjalan. Omong-omong, ini menggunakan RAM 1.2G di server email saya. Jika server email Anda tidak memiliki sisa RAM yang cukup, layanan akan gagal.
Buka file konfigurasi Amavis.
sudo nano /etc/amavisd/amavisd.conf
Anda dapat menemukan baris berikut dalam file ini, yang memungkinkan pemeriksaan virus.
# @bypass_virus_checks_maps = (1); # mengontrol jalannya kode anti-virus
Jika Anda menghapus komentar pada baris ini, pemeriksaan virus akan dinonaktifkan.
Ada banyak pemindai antivirus yang ditentukan di @av_scanners
bagian ini. ClamAV adalah defaultnya. Amavis akan memanggil ClamAV melalui /run/clamd.amavisd/clamd.sock
soket Unix. ClamAV dan Amvis keduanya dijalankan sebagai amavis
pengguna.
Tutup file dan mulai ulang Amavis.
sudo systemctl restart amavisd
Periksa log.
sudo journalctl -eu amavisd
Anda dapat melihat bahwa Amavis sekarang menggunakan ClamAV untuk memindai virus.
mail.linuxbabe.com amavis [1233432]: Menggunakan kode pemindai av internal utama untuk ClamAV-clamd mail.linuxbabe.com amavis [1233432]: Ditemukan pemindai av sekunder ClamAV-clamscan di / usr / bin / clamscan
Sekarang jika Anda mengirim email dari server email lain seperti Gmail ke server email Anda sendiri dan memeriksa header email, Anda dapat menemukan baris seperti di bawah ini, yang menunjukkan email ini telah dipindai oleh Amavis.
X-Virus-Dipindai: Debian amavisd-new di linuxbabe.com
Anda juga harus memeriksa log surat ( /var/log/maillog
) untuk menemukan apakah ada kesalahan.
Langkah 4: Gunakan Port Khusus untuk Pengiriman Email
ClamAV sekarang dapat memindai email masuk dan keluar. Amavis mendengarkan pada port 10024 untuk pesan email masuk dan keluar. Namun, praktik yang baik untuk menggunakan port yang berbeda seperti 10026 untuk pengiriman email dari pengguna yang diautentikasi.
Edit file konfigurasi utama Amavis.
sudo nano /etc/amavisd/amavisd.conf
Temukan baris berikut.
$ inet_socket_port = 10024; # dengarkan pada port TCP lokal ini
Tambahkan #
karakter di awal untuk mengomentarinya.
# $ inet_socket_port = 10024; # dengarkan pada port TCP lokal ini
Kemudian temukan baris berikut.
# $ inet_socket_port = [10024.10026]; # dengarkan pada beberapa port TCP
Hapus #
karakter pertama untuk menghapus komentar, jadi Amavisd juga akan mendengarkan pada port 10026.
$ inet_socket_port = [10024.10026]; # dengarkan pada beberapa port TCP
Menggulir sedikit ke bawah, Anda dapat menemukan baris berikut, yang menetapkan kebijakan "ORIGINATING" untuk port 10026.
$ interface_policy {'10026'} = 'ORIGINATING';
Kemudian Anda dapat menemukan baris berikut, yang mendefinisikan kebijakan "ORIGINATING".
$ policy_bank {'ORIGINATING'} = {# email diduga berasal dari pengguna kami originating => 1, # menyatakan bahwa mail telah dikirimkan oleh klien smtp kita allow_disclaimers => 1, # memungkinkan penyisipan penafian jika tersedia # beri tahu administrator tentang malware yang berasal secara lokal virus_admin_maps => ["virusalert \ @ $ mydomain"], spam_admin_maps => ["virusalert \ @ $ mydomain"], warnbadhsender => 1, # teruskan ke layanan smtpd yang menyediakan layanan penandatanganan DKIM metode_maju => 'smtp: [127.0.0.1]: 10027', # paksa konversi MTA ke 7-bit (mis. sebelum penandatanganan DKIM) smtpd_discard_ehlo_keywords => ['8BITMIME'], bypass_banned_checks_maps => [1], # izinkan pengiriman nama dan jenis file apa pun terminate_dsn_on_notify_success => 0, # jangan hapus opsi NOTIFY = SUCCESS };
Pada baris di atas, Anda dapat melihat bahwa secara default Amavis akan meneruskan email ke layanan SMTPD yang menyediakan layanan penandatanganan DKIM. Postfix dan OpenDKIM akan menangani penandatanganan DKIM, jadi kita perlu memberi komentar pada forward_method
petunjuknya.
# forward_method => 'smtp: [127.0.0.1]: 10027',
Simpan dan tutup file. Selanjutnya, kita perlu memberi tahu SELinux untuk mengizinkan Amavis menggunakan port 10026. Instal paket berikut, yang menyediakan semanage
perintah.
sudo dnf menginstal policycoreutils-python-utils -y
Kemudian atur jenis port 10026 ke amavisd_recv_port_t
, sehingga Amavis dapat mendengarkan pada port 10026.
sudo port semanage -m -t amavisd_recv_port_t -p tcp 10026
Periksa port 10026.
sudo semanage port -l | grep 10026
Kita dapat melihat bahwa port 10026 juga dapat digunakan oleh Amavisd.
Mulai ulang Amavis
sudo systemctl restart amavisd
Periksa statusnya untuk melihat apakah restart berhasil.
status systemctl amavisd
Selanjutnya, edit file konfigurasi master Postfix.
sudo nano /etc/postfix/master.cf
Tambahkan baris berikut ke submission
layanan, sehingga email dari klien SMTP terautentikasi akan diteruskan ke Amavis listening di port 10026. Baris ini akan menimpa (-o) content_filter
parameter dalam /etc/postfix/main.cf
file.
-o content_filter = smtp-amavis: [127.0.0.1]: 10026
Seperti ini:
Jika Anda telah mengaktifkan smtps
layanan untuk pengguna Microsoft Outlook, maka Anda juga perlu menambahkan baris ini ke smtps
layanan.
Simpan dan tutup file. Mulai ulang Postfix agar perubahan diterapkan.
sudo systemctl restart postfix
Periksa statusnya untuk melihat apakah restart berhasil.
status sistemctl perbaikan pos
Menonaktifkan Pemfilteran Spam di Amavis
Pemfilteran spam di Amavis diaktifkan secara default. Jika Anda telah mengikuti tutorial SpamAssassin saya , Anda tidak perlu mengaktifkan pemeriksaan spam di Amavis. Jika Anda mengaktifkannya, setiap email akan diperiksa dua kali oleh SpamAssassin.
Untuk menonaktifkan pemeriksaan spam di Amavis, edit file konfigurasi Amavis.
sudo nano /etc/amavisd/amavisd.conf
Temukan baris berikut.
# @bypass_spam_checks_maps = (1); # mengontrol berjalannya kode anti-spam
Hapus karakter komentar pertama (#) untuk menonaktifkan pemeriksaan spam.
@bypass_spam_checks_maps = (1); # mengontrol berjalannya kode anti-spam
Simpan dan tutup file. Kemudian mulai ulang Amavis.
sudo systemctl restart amavisd
Menonaktifkan DKIM di Amavis
Dua perangkat lunak umum yang dapat melakukan penandatanganan dan verifikasi DKIM di Linux adalah OpenDKIM dan Amavis . Saya lebih suka menggunakan OpenDKIM karena bekerja lebih baik dengan OpenDMARC . Jadi saya tidak akan menjelaskan bagaimana cara DKIM menandatangani email Anda di Amavis.
Secara default, penandatanganan dan verifikasi DKIM keduanya diaktifkan di Amavis. Jika Anda menjalankan OpenDKIM di server email Anda, Anda dapat menonaktifkan DKIM di Amavis.
sudo nano /etc/amavisd/amavisd.conf
Temukan dua baris berikut dan ubah keduanya 1
menjadi 0
, sehingga Amavis tidak akan memverifikasi tanda tangan DKIM untuk email masuk atau menambahkan tanda tangan DKIM untuk email keluar.
$ enable_dkim_verification = 1; # aktifkan verifikasi tanda tangan DKIM $ enable_dkim_signing = 1; # muat kode penandatanganan DKIM, kunci yang ditentukan oleh dkim_key
Simpan dan tutup file. Kemudian mulai ulang Amavis.
sudo systemctl restart amavisd
Saat menerima email masuk, Postfix akan memanggil OpenDKIM melalui antarmuka milter sendmail untuk memverifikasi tanda tangan DKIM, kemudian meneruskan email tersebut ke Amavis untuk pemeriksaan virus. Saat mengirim email keluar, Postfix akan memanggil OpenDKIM untuk menandatangani email, kemudian meneruskannya ke Amavis untuk pemeriksaan virus.
Meningkatkan Kinerja Amavis
Secara default, Amavis menjalankan 2 proses. Jika Anda melihat baris berikut di mail log ( /var/log/maillog
), itu berarti Amavis tidak dapat memproses email dengan cukup cepat.
postfix / qmgr [1619188]: peringatan: email untuk [127.0.0.1]: 10024 menggunakan hingga 4001 dari 4008 entri antrian aktif postfix / qmgr [1619188]: peringatan: Anda mungkin perlu mengurangi koneksi smtp-amavis dan waktu tunggu helo postfix / qmgr [1619188]: peringatan: agar Postfix dengan cepat melewati host yang tidak tersedia postfix / qmgr [1619188]: peringatan: Anda mungkin perlu meningkatkan main.cf minimal_backoff_time dan maximal_backoff_time postfix / qmgr [1619188]: peringatan: agar Postfix tidak membuang-buang waktu untuk email yang tidak terkirim mail postfix / qmgr [1619188]: peringatan: Anda mungkin perlu meningkatkan batas proses master.cf smtp-amavis mail postfix / qmgr [1619188]: peringatan: harap hindari membuang seluruh antrian bila Anda punya mail postfix / qmgr [1619188]: peringatan: banyak surat yang ditangguhkan, itu buruk untuk kinerja
Untuk meningkatkan kinerja, edit file konfigurasi Amavis.
sudo nano /etc/amavisd/amavisd.conf
Temukan baris berikut. Ubah 2
ke 4
, yang akan membuat Amavis menjalankan 4 proses. Jika Anda memiliki 10 inti CPU, Anda dapat mengubah 4 menjadi 10.
$ max_servers = 2; # jumlah anak yang telah bercabang (2..30 biasa), -m
Simpan dan tutup file. Kemudian edit file konfigurasi master Postifx.
sudo nano /etc/postfix/master.cf
Temukan smtp-amavis
definisi layanan, dan ubah batas proses dari 2 menjadi 4.
smtp-amavis unix - - n - 4 smtp -o syslog_name = postfix / amavis -o smtp_data_done_timeout = 1200 -o smtp_send_xforward_command = yes -o disable_dns_lookups = yes -o max_use = 20 -o smtp_tls_security_level = tidak ada
Simpan dan tutup file. Kemudian restart Amavis dan Postfix agar perubahan diterapkan.
sudo systemctl restart amavisd postfix
Sekarang jalankan perintah berikut. Anda harus melihat bahwa ada 4 proses Amavis sekarang.
sudo amavisd-nanny
Tekan Ctrl+C
untuk menghentikan amavisd-nanny.
Melewati Pemeriksaan Virus untuk Nawala Anda
Jika Anda menggunakan server email Anda untuk mengirim buletin , dan Anda mengaktifkan Amavis dan ClamAV, maka banyak sumber daya CPU dan RAM akan digunakan untuk pemeriksaan virus saat Anda mengirim buletin ke pelanggan Anda. Ini dapat membuat server email Anda tidak responsif. Anda dapat melewati pemeriksaan virus untuk buletin Anda dengan menggunakan metode di bawah ini.
Edit file konfigurasi master Postfix.
sudo nano /etc/postfix/master.cf
Tambahkan baris berikut di awal file ini. Ini akan mengaktifkan smtpd
pada port 2525 dari localhost dan dapat menerima koneksi klien yang dimulai dari server yang sama. Jika ada proses lain yang mendengarkan pada porta 2525, Anda dapat mengubah 127.0.0.1:2525 ke proses lain, seperti 127.0.0.1:2552. Perhatikan bahwa content_filter
parameter disetel ke none
, yang berarti email tidak akan dipindai oleh ClamAV.
127.0.0.1:2525 inet n - - - 1 smtpd -o syslog_name = postfix / 2525 -o content_filter =
Kemudian tambahkan baris berikut di akhir file ini. Ganti 12.34.56.78 dengan alamat IP publik server email. Ini akan membuat daemon pengiriman Postfix lain yang mendengarkan pada port 10587. Ini untuk koneksi klien dari server lain. The content_filter
parameter juga diatur untuk none
.
12.34.56.78 : 10587 inet n - y - - smtpd -o syslog_name = postfix / 10587 -o smtpd_tls_security_level = mengenkripsi -o smtpd_tls_wrappermode = tidak -o smtpd_sasl_auth_enable = yes -o smtpd_relay_restrictions = permit_sasl_authenticated, tolak -o smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, tolak -o smtpd_sasl_type = dovecot -o smtpd_sasl_path = private / auth -o content_filter =
Simpan dan tutup file. Kemudian Mulai ulang postfix.
sudo systemctl restart postfix
Jika aplikasi buletin Anda berjalan di server email, tentukan 127.0.0.1:2525
sebagai host SMTP, tanpa autentikasi SMTP. Jika aplikasi buletin Anda berjalan di server yang berbeda, tentukan 12.34.56.78:10587
sebagai host SMTP, dengan otentikasi SMTP.
Membungkus
Sekian tutorial kali ini, jika kamu menemui masalah, silahkan tinggalkan komentar