Các ví dụ khác nhau về việc gửi email
Các phương pháp gửi email bằng máy chủ Gmail SMTP và tài khoản Gmail được trình bày trong phần hướng dẫn này.
Ví dụ 1: Gửi một email văn bản đơn giản
Tạo một tệp Perl với tập lệnh sau để gửi một email văn bản đơn giản bằng máy chủ Gmail SMTP. Bạn phải đặt địa chỉ email hợp lệ và mật khẩu được đặt cho mật khẩu ứng dụng thành các biến $username và $password. Tên người dùng và mật khẩu giả được gán trong tập lệnh. Email sẽ không được gửi nếu mật khẩu ứng dụng không được cấu hình đúng cách. Tiếp theo, đặt địa chỉ email người nhận và người gửi hợp lệ thành các biến $to và $from để kiểm tra xem email có được gửi đúng cách hay không. Phần còn lại của kịch bản vẫn không thay đổi. Một tin nhắn văn bản đơn giản sẽ được gửi đến địa chỉ email của người nhận nếu máy chủ SMTP được kết nối và thông tin của người dùng được xác thực thành công.
#!/usr/bin/perl
#Nhập các mô-đun cần thiết
Sử dụng nghiêm ngặt ;
sử dụng Net::SMTP::SSL ;
#Khai báo chương trình con để gửi email bằng máy chủ Gmail
gửi phụEmail
{
#Tên người dùng và mật khẩu để xác thực
tên người dùng $ của tôi = 'tên người dùng@gmail.com' ;
mật khẩu $ của tôi = 'mật khẩu ứng dụng' ;
#Khởi tạo các biến để gửi email
$to của tôi = 'người nhận@gmail.com' ;
$ từ của tôi = 'Meher Nigar
chủ đề $ của tôi = 'Đó là một email thử nghiệm' ;
tin nhắn $ của tôi = 'Xin chào, đang gửi email bằng Perl.' ;
#Khai báo biến smtp
Máy chủ $smtp của tôi ;
#Kết nối với máy chủ Gmail smtp
nếu như ( không $smtpMáy chủ = Mạng::SMTP::SSL- > mới ( 'smtp.gmail.com' , Hải cảng => 465 , Gỡ lỗi => 1 ) )
{
các 'Không thể kết nối với máy chủ SMTP. \N ' ;
}
#Kiểm tra tên người dùng và mật khẩu có hợp lệ không
$smtpServer- > xác thực ( tên người dùng $ , $ mật khẩu ) || các 'Lỗi xác thực. \N ' ;
$smtpServer- > thư ( $ từ. ' \N ' ) ;
$smtpServer- > ĐẾN ( $ tới. ' \N ' ) ;
$smtpServer- > dữ liệu ( ) ;
$smtpServer- > gửi dữ liệu ( 'Từ: ' . $ từ . ' \N ' ) ;
$smtpServer- > gửi dữ liệu ( 'ĐẾN: ' . $ tới . ' \N ' ) ;
$smtpServer- > gửi dữ liệu ( 'Chủ thể: ' . chủ đề $ . ' \N ' ) ;
$smtpServer- > gửi dữ liệu ( ' \N ' ) ;
}
#Gọi chương trình con
&gửi email ( ) ;
Đầu ra:
Thông tin tương tự sau đây xuất hiện ở đầu đầu ra sau khi thực thi tập lệnh nếu email được gửi thành công:
Khi bạn mở địa chỉ email của người nhận, bạn sẽ nhận được email sau trong hộp thư đến:
Ví dụ 2: Gửi email có định dạng HTML
Tạo một tệp Perl có đoạn mã sau để gửi email có định dạng HTML bằng máy chủ Gmail SMTP. Bạn phải đặt địa chỉ email và mật khẩu hợp lệ như trong ví dụ trước. Tiếp theo, đặt địa chỉ email người nhận và người gửi hợp lệ. Mã HTML được thêm vào dưới dạng thông báo email trong tập lệnh. Loại nội dung của email được đặt thành text/html để gửi email có định dạng HTML. Phần còn lại của tập lệnh giống như ví dụ trước. Một email có định dạng HTML sẽ được gửi đến địa chỉ email của người nhận nếu máy chủ SMTP được kết nối và thông tin của người dùng được xác thực thành công.
#!/usr/bin/perl#Nhập các mô-đun cần thiết
Sử dụng nghiêm ngặt ;
sử dụng Net::SMTP::SSL ;
#Khai báo chương trình con để gửi email bằng máy chủ Gmail
gửi phụEmail
{
#Tên người dùng và mật khẩu để xác thực
tên người dùng $ của tôi = 'tên người dùng@gmail.com' ;
mật khẩu $ của tôi = 'mật khẩu ứng dụng' ;
#Khởi tạo các biến để gửi email
$to của tôi = 'người nhận@gmail.com' ;
$ từ của tôi = 'Meher Nigar
chủ đề $ của tôi = 'Đăng ky đa hoan tât' ;
tin nhắn $ của tôi = '
Chào mừng bạn đến với trang web của chúng tôi
' ;#Khai báo biến smtp
Máy chủ $smtp của tôi ;
#Kết nối với máy chủ Gmail smtp
nếu như ( không $smtpMáy chủ = Mạng::SMTP::SSL- > mới ( 'smtp.gmail.com' , Hải cảng => 465 , Gỡ lỗi => 1 ) )
{
các 'Không thể kết nối với máy chủ SMTP. \N ' ;
}
#Kiểm tra tên người dùng và mật khẩu có hợp lệ không
$smtpServer- > xác thực ( tên người dùng $ , $ mật khẩu ) || các 'Lỗi xác thực. \N ' ;
$smtpServer- > thư ( $ từ. ' \N ' ) ;
$smtpServer- > ĐẾN ( $ tới. ' \N ' ) ;
$smtpServer- > dữ liệu ( ) ;
$smtpServer- > gửi dữ liệu ( 'Từ: ' . $ từ . ' \N ' ) ;
$smtpServer- > gửi dữ liệu ( 'ĐẾN: ' . $ tới . ' \N ' ) ;
$smtpServer- > gửi dữ liệu ( 'Chủ thể: ' . chủ đề $ . ' \N ' ) ;
#Đặt loại nội dung email thành HTML để gửi email có định dạng html
$smtpServer- > gửi dữ liệu ( 'Loại nội dung: văn bản/html; bộ ký tự=utf-8 \N \N ' ) ;
$smtpServer- > gửi dữ liệu ( tin nhắn $. ' \N ' ) ;
$smtpServer- > kết thúc dữ liệu ( ) ;
$smtpServer- > từ bỏ ;
}
#Gọi chương trình con
&gửi email ( ) ;
Đầu ra:
Thông tin tương tự sau đây xuất hiện ở đầu đầu ra sau khi thực thi tập lệnh nếu email được gửi thành công:
Khi bạn mở địa chỉ email của người nhận, bạn sẽ nhận được email sau trong hộp thư đến:
Phần kết luận
Phương pháp gửi email bằng Perl thông qua máy chủ Gmail SMTP không còn dễ dàng như trước sau khi vô hiệu hóa “ứng dụng kém an toàn” của tài khoản Gmail. Nhưng bạn có thể gửi email bằng cách đặt mật khẩu ứng dụng ngay bây giờ.