Contoh Berbeza Menghantar E-mel
Kaedah menghantar e-mel menggunakan pelayan SMTP Gmail dan akaun Gmail ditunjukkan dalam bahagian tutorial ini.
Contoh 1: Menghantar E-mel Teks Ringkas
Cipta fail Perl dengan skrip berikut yang menghantar e-mel teks ringkas menggunakan pelayan SMTP Gmail. Anda perlu menetapkan alamat e-mel yang sah dan kata laluan yang ditetapkan untuk kata laluan apl ke dalam pembolehubah $nama pengguna dan $kata laluan. Nama pengguna dan kata laluan palsu diberikan dalam skrip. E-mel tidak akan dihantar jika kata laluan apl tidak dikonfigurasikan dengan betul. Seterusnya, tetapkan penerima yang sah dan alamat e-mel pengirim kepada pembolehubah $to dan $from untuk menyemak sama ada e-mel dihantar dengan betul. Bahagian lain skrip kekal tidak berubah. Mesej teks ringkas dihantar ke alamat e-mel penerima jika pelayan SMTP disambungkan dan maklumat pengguna berjaya disahkan.
#!/usr/bin/perl
#Import modul yang diperlukan
menggunakan ketat ;
gunakan Net::SMTP::SSL ;
#Isytiharkan subrutin untuk menghantar e-mel menggunakan pelayan Gmail
sub hantarEmel
{
#Nama pengguna dan kata laluan untuk pengesahan
$nama pengguna saya = 'nama pengguna@gmail.com' ;
$kata laluan saya = 'kata laluan apl' ;
#Memulakan pembolehubah untuk menghantar e-mel
$kepada saya = 'receiver@gmail.com' ;
$daripada saya = 'Meher Nigar
$subjek saya = 'Ia adalah e-mel ujian' ;
$mesej saya = 'Helo, menghantar e-mel menggunakan Perl.' ;
#Isytiharkan pembolehubah smtp
$smtpServer saya ;
#Sambung dengan pelayan smtp Gmail
jika ( bukan $smtpServer = Net::SMTP::SSL- > baru ( 'smtp.gmail.com' , Pelabuhan => 465 , Nyahpepijat => 1 ) )
{
yang 'Tidak dapat menyambung dengan pelayan SMTP. \n ' ;
}
#Semak nama pengguna dan kata laluan adalah sah
$smtpServer- > auth ( $nama pengguna , $kata laluan ) || yang 'Ralat pengesahan. \n ' ;
$smtpServer- > mel ( $daripada. ' \n ' ) ;
$smtpServer- > kepada ( $kepada. ' \n ' ) ;
$smtpServer- > data ( ) ;
$smtpServer- > hantaran data ( 'Daripada:' . $daripada . ' \n ' ) ;
$smtpServer- > hantaran data ( 'Kepada: ' . $kepada . ' \n ' ) ;
$smtpServer- > hantaran data ( 'Subjek:' . $subjek . ' \n ' ) ;
$smtpServer- > hantaran data ( ' \n ' ) ;
}
#Panggil subrutin
&menghantar e-mel ( ) ;
Pengeluaran:
Maklumat serupa berikut muncul pada permulaan output selepas melaksanakan skrip jika e-mel berjaya dihantar:
Apabila anda membuka alamat e-mel penerima, anda akan mendapat e-mel berikut dalam peti masuk:
Contoh 2: Menghantar E-mel Berformat HTML
Cipta fail Perl dengan skrip berikut yang menghantar e-mel berformat HTML menggunakan pelayan SMTP Gmail. Anda perlu menetapkan alamat e-mel dan kata laluan yang sah seperti contoh sebelumnya. Seterusnya, tetapkan alamat e-mel penerima dan penghantar yang sah. Kod HTML ditambah sebagai mesej e-mel dalam skrip. Jenis kandungan e-mel ditetapkan kepada teks/html untuk menghantar e-mel berformat HTML. Bahagian lain skrip adalah sama seperti contoh sebelumnya. E-mel berformat HTML dihantar ke alamat e-mel penerima jika pelayan SMTP disambungkan dan maklumat pengguna berjaya disahkan.
#!/usr/bin/perl#Import modul yang diperlukan
menggunakan ketat ;
gunakan Net::SMTP::SSL ;
#Isytiharkan subrutin untuk menghantar e-mel menggunakan pelayan Gmail
sub hantarEmel
{
#Nama pengguna dan kata laluan untuk pengesahan
$nama pengguna saya = 'nama pengguna@gmail.com' ;
$kata laluan saya = 'kata laluan apl' ;
#Memulakan pembolehubah untuk menghantar e-mel
$kepada saya = 'receiver@gmail.com' ;
$daripada saya = 'Meher Nigar
$subjek saya = 'Pendaftaran selesai' ;
$mesej saya = '
Selamat datang ke tapak kami
' ;#Isytiharkan pembolehubah smtp
$smtpServer saya ;
#Sambung dengan pelayan smtp Gmail
jika ( bukan $smtpServer = Net::SMTP::SSL- > baru ( 'smtp.gmail.com' , Pelabuhan => 465 , Nyahpepijat => 1 ) )
{
yang 'Tidak dapat menyambung dengan pelayan SMTP. \n ' ;
}
#Semak nama pengguna dan kata laluan adalah sah
$smtpServer- > auth ( $nama pengguna , $kata laluan ) || yang 'Ralat pengesahan. \n ' ;
$smtpServer- > mel ( $daripada. ' \n ' ) ;
$smtpServer- > kepada ( $kepada. ' \n ' ) ;
$smtpServer- > data ( ) ;
$smtpServer- > hantaran data ( 'Daripada:' . $daripada . ' \n ' ) ;
$smtpServer- > hantaran data ( 'Kepada: ' . $kepada . ' \n ' ) ;
$smtpServer- > hantaran data ( 'Subjek:' . $subjek . ' \n ' ) ;
#Tetapkan jenis kandungan e-mel kepada HTML untuk menghantar e-mel berformat html
$smtpServer- > hantaran data ( 'Jenis Kandungan: text/html; charset=utf-8 \n \n ' ) ;
$smtpServer- > hantaran data ( $mesej. ' \n ' ) ;
$smtpServer- > tamat data ( ) ;
$smtpServer- > berhenti ;
}
#Panggil subrutin
&menghantar e-mel ( ) ;
Pengeluaran:
Maklumat serupa berikut muncul pada permulaan output selepas melaksanakan skrip jika e-mel berjaya dihantar:
Apabila anda membuka alamat e-mel penerima, anda akan mendapat e-mel berikut dalam peti masuk:
Kesimpulan
Kaedah menghantar e-mel menggunakan Perl melalui pelayan SMTP Gmail tidak semudah dahulu selepas melumpuhkan 'apl kurang selamat' akaun Gmail. Tetapi anda boleh menghantar e-mel dengan menetapkan kata laluan apl sekarang.