您的位置:首页 > 大数据 > 人工智能

Perl语言入门:简单的发送邮件

2018-02-25 18:36 232 查看
本章节将学习如何使用Perl来发送邮件,这是很基础的内容

概述

Perl作为语言,本身并不具备『发送邮件』的功能,它之所以可以发送邮件,靠的是调用其它程序,其中包括系统调用和第三方工具调用

系统调用,如
mail
命令


使用第三方工具,如
sendmail


实际操作

系统调用mail命令

my $subject = 'Test';
my $content = 'This is a content';
my $to = 'xxxxxxxxxx@qq.com';
my $cmd = "echo $content|mail -s $subject $to";
system($cmd);


使用文件读写

$to = 'xxxxxxxxxx@qq.com';
$from = 'test@gamil.com';
$subject = 'TEST';
$message = 'This is a testing mail';

open(MAIL, "|/usr/sbin/sendmail -t");
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n\n";

print MAIL $message;
close(MAIL);
print "The e-mail has been sent\n";


发送HTML格式的邮件

我们可以在邮件头部添加
Content-type: text/html\n
来发送HTML格式的邮件


$to = 'xxxxxxxxxx@qq.com';
$from = 'test@gmail.com';
$subject = 'TEST';
$message = '<h1>This is a  HTML test<h1><p>Hello HTML</p>';
open(MAIL, "|/usr/sbin/sendmail -t");

print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n";
print MAIL "Content-type: text/html\n";

print MAIL "$message";

close(MAIL);
print "The e-mail has been sent\n";


使用MIME::Lite模块

如果使用的是Windows系统则没有sendmail工具;这时候可以使用Perl的MIME::Lite模块作为客户端来发送邮件

不要忘了在程序开头使用
use
表示使用该模块


use MIME::Lite;

$to = 'xxxxxxxxxx@qq.com';
$from = 'test@gamil.com';

$subject = 'TEST';
$message = 'This is a MIME::Lite test';

$msg = MIME::Lite->new(
From    =>  $from;
To      =>  $to;
Cc      =>  $cc;
Subject =>  $subject;
Data    =>  $message;
);
$msg->send;
print "The e-mail has been sent\n";


总结:Perl邮件发送还是挺简单的,就是自定义一些变量,结合文件的相关知识,把它们整合到一起就是一个完整的邮件发送了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Perl e-mai