Kirim Email Menggunakan Perl

Kirim Email Menggunakan Perl



Banyak modul yang ada di Perl untuk mengirim email dari sistem operasi Ubuntu. Modul “Net::SMTP::SSL” adalah salah satunya. Server SMTP apa pun yang valid dengan nama pengguna dan kata sandi yang benar diperlukan untuk mengirim email menggunakan modul Perl ini. Server SMTP akun Gmail serta nama pengguna dan kata sandi yang valid digunakan dalam tutorial ini untuk mengirim email menggunakan skrip Perl dari sistem operasi Ubuntu. Namun, akun Gmail memerlukan beberapa konfigurasi untuk mengirim email menggunakan server SMTP Gmail. Opsi “aplikasi kurang aman” pada akun Gmail mana pun diperlukan untuk mengaktifkan pengiriman email menggunakan server SMTP Gmail. Namun opsi akun Gmail ini dihapus mulai tahun 2022. Sekarang, Anda harus mengatur “Kata Sandi Aplikasi” akun Gmail untuk mengirim email. Anda harus mengatur kata sandi ini untuk akun Gmail yang akan digunakan untuk mengirim email sebelum mempraktekkan contoh tutorial ini.

Berbagai Contoh Mengirim Email

Metode pengiriman email menggunakan server SMTP Gmail dan akun Gmail ditampilkan di bagian tutorial ini.

Contoh 1: Mengirim Email Teks Sederhana

Buat file Perl dengan skrip berikut yang mengirimkan email teks sederhana menggunakan server SMTP Gmail. Anda harus mengatur alamat email yang valid dan kata sandi yang ditetapkan untuk kata sandi aplikasi ke dalam variabel $username dan $password. Nama pengguna dan kata sandi tiruan diberikan dalam skrip. Email tidak akan terkirim jika kata sandi aplikasi tidak dikonfigurasi dengan benar. Selanjutnya, atur alamat email penerima dan pengirim yang valid ke variabel $to dan $from untuk memeriksa apakah email terkirim dengan benar. Bagian lain dari naskah tetap tidak berubah. Pesan teks sederhana dikirim ke alamat email penerima jika server SMTP terhubung dan informasi pengguna berhasil diautentikasi.







#!/usr/bin/Perl

#Impor modul yang diperlukan
gunakan ketat ;
gunakan Net::SMTP::SSL ;

#Deklarasikan subrutin untuk mengirim email menggunakan server Gmail
sub kirimEmail
{

#Nama pengguna dan kata sandi untuk otentikasi
$nama pengguna saya = 'nama pengguna@gmail.com' ;
$kata sandi saya = 'kata sandi aplikasi' ;

#Inisialisasi variabel untuk mengirim email
$ke saya = 'penerima@gmail.com' ;
$dari saya = 'Meher Nigar ' ;
$subjek saya = 'Ini adalah email pengujian' ;
$pesan saya = 'Halo, mengirim email menggunakan Perl.' ;

#Deklarasikan variabel smtp
$smtpServer saya ;

#Hubungkan dengan server smtp Gmail
jika ( bukan $smtpServer = Bersih::SMTP::SSL- > baru ( 'smtp.gmail.com' , Pelabuhan => 465 , Men-debug => 1 ) )
{
itu 'Tidak dapat terhubung dengan server SMTP. \N ' ;
}

#Periksa nama pengguna dan kata sandi valid
$smtpServer- > autentik ( $nama pengguna , $kata sandi ) || itu 'Kesalahan otentikasi. \N ' ;

$smtpServer- > surat ( $dari. ' \N ' ) ;
$smtpServer- > ke ( $ke. ' \N ' ) ;
$smtpServer- > data ( ) ;
$smtpServer- > pengiriman data ( 'Dari: ' . $dari . ' \N ' ) ;
$smtpServer- > pengiriman data ( 'Ke: ' . $ke . ' \N ' ) ;
$smtpServer- > pengiriman data ( 'Subjek: ' . $subjek . ' \N ' ) ;
$smtpServer- > pengiriman data ( ' \N ' ) ;

}

#Panggil subrutin

&mengirim email ( ) ;

Keluaran:



Informasi serupa berikut ini muncul di awal keluaran setelah menjalankan skrip jika email berhasil dikirim:







Saat Anda membuka alamat email penerima, Anda akan mendapatkan email berikut di kotak masuk:

Contoh 2: Mengirim Email Berformat HTML

Buat file Perl dengan skrip berikut yang mengirimkan email berformat HTML menggunakan server SMTP Gmail. Anda harus mengatur alamat email dan kata sandi yang valid seperti pada contoh sebelumnya. Selanjutnya, atur alamat email penerima dan pengirim yang valid. Kode HTML ditambahkan sebagai pesan email di skrip. Jenis konten email diatur ke teks/html untuk mengirim email berformat HTML. Bagian skrip lainnya sama dengan contoh sebelumnya. Email berformat HTML dikirim ke alamat email penerima jika server SMTP terhubung dan informasi pengguna berhasil diautentikasi.

#!/usr/bin/Perl

#Impor modul yang diperlukan
gunakan ketat ;
gunakan Net::SMTP::SSL ;

#Deklarasikan subrutin untuk mengirim email menggunakan server Gmail
sub kirimEmail
{
#Nama pengguna dan kata sandi untuk otentikasi
$nama pengguna saya = 'nama pengguna@gmail.com' ;
$kata sandi saya = 'kata sandi aplikasi' ;

#Inisialisasi variabel untuk mengirim email
$ke saya = 'penerima@gmail.com' ;
$dari saya = 'Meher Nigar ' ;
$subjek saya = 'Pendaftaran selesai' ;
$pesan saya = '

Selamat datang di situs kami

'
;

#Deklarasikan variabel smtp
$smtpServer saya ;

#Hubungkan dengan server smtp Gmail
jika ( bukan $smtpServer = Bersih::SMTP::SSL- > baru ( 'smtp.gmail.com' , Pelabuhan => 465 , Men-debug => 1 ) )
{
itu 'Tidak dapat terhubung dengan server SMTP. \N ' ;
}

#Periksa nama pengguna dan kata sandi valid
$smtpServer- > autentik ( $nama pengguna , $kata sandi ) || itu 'Kesalahan otentikasi. \N ' ;

$smtpServer- > surat ( $dari. ' \N ' ) ;
$smtpServer- > ke ( $ke. ' \N ' ) ;
$smtpServer- > data ( ) ;
$smtpServer- > pengiriman data ( 'Dari: ' . $dari . ' \N ' ) ;
$smtpServer- > pengiriman data ( 'Ke: ' . $ke . ' \N ' ) ;
$smtpServer- > pengiriman data ( 'Subjek: ' . $subjek . ' \N ' ) ;

#Setel jenis konten email ke HTML untuk mengirim email berformat html
$smtpServer- > pengiriman data ( 'Jenis Konten: teks/html; charset=utf-8 \N \N ' ) ;
$smtpServer- > pengiriman data ( $pesan. ' \N ' ) ;
$smtpServer- > akhir data ( ) ;
$smtpServer- > berhenti ;

}

#Panggil subrutin

&mengirim email ( ) ;

Keluaran:



Informasi serupa berikut ini muncul di awal keluaran setelah menjalankan skrip jika email berhasil dikirim:







Saat Anda membuka alamat email penerima, Anda akan mendapatkan email berikut di kotak masuk:





Kesimpulan

Cara mengirim email menggunakan Perl melalui server SMTP Gmail tidak semudah sebelumnya setelah menonaktifkan “aplikasi kurang aman” akun Gmail. Namun Anda dapat mengirim email dengan mengatur kata sandi aplikasi sekarang.