1.Perl 发送邮件
如果你的程序在 Linux/Unix 系统上运行,你就可以在 Perl 中使用 sendmail 工具来发送邮件。
以下是一个简单的脚本实例用于发送邮件:
#!/usr/bin/perl
#接收者邮箱
$to = '123@qq.com';
#发送者邮箱
$from = 'test@qq.com';
#标题
$subject = 'Perl 发送邮件测试';
$message = '这是一封使用 Perl 发送的邮件。';
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 "邮件发送成功\n";

1.1 发送 HTML 格式邮件
我们可以在邮件头部添加 Content-type: text/html\n 来发送 HTML 格式的邮件,实例如下:
#!/usr/bin/perl
# 接收者邮箱
$to = '123@qq.com';
#发送者邮箱
$from = 'test@runoob.com';
#标题
$subject = 'Perl 发送邮件测试';
$message = '<h1>这是一封使用 Perl 发送的邮件<h1><p>你好。</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 "邮件发送成功\n";

2.使用 MIME::Lite 模块
如果你使用的是 window 系统,没有 sendmail 工具。这时你就可以使用 perl 的 MIME:Lite 模块作为邮件客户端来发送邮件。
MIME:Lite 模块 下载地址为:MIME-Lite-3.030.tar.gz。
这里我们直接用 cpan 来安装(需要 root 权限),不用下载:
$ cpan -i MIME::Lite
……
/usr/bin/make install -- OK
安装成功后,我们来演示一个实例:
#!/usr/bin/perl
use MIME::Lite;
# 接收邮箱
$to = '123@qq.com';
# 抄送者,多个使用逗号隔开
# $cc = 'test1@qq.com, test2@qq.com';
#发送者邮箱
$from = 'test@qq.com';
#标题
$subject = 'Perl 发送邮件测试';
$message = '这是一封使用 Perl 发送的邮件,使用了 MIME::Lite 模块。';
$msg = MIME::Lite->new(
From => $from,
To => $to,
Cc => $cc,
Subject => $subject,
Data => $message
);
$msg->send;
print "邮件发送成功\n";

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

2.2 发送带有附件的邮件
发送带有附件的邮件实例如下:

实例
#!/usr/bin/perl
use MIME::Lite;
# 接收者邮箱
$to = '123@qq.com';
# 抄送者,多个使用逗号隔开
# $cc = 'test1@qq.com, test2@qq.com';
#发送者邮箱
$from = 'test@qq.com';
#标题
$subject = 'Perl 发送邮件测试';
$message = '这是一封使用 Perl 发送的邮件,使用了 MIME::Lite 模块,包含了附件。';
$msg = MIME::Lite->new(
From => $from,
To => $to,
Cc => $cc,
Subject => $subject,
Type => 'multipart/mixed' # 附件标记
);
$msg->attach (
Type => 'TEXT',
Data => $message
);
# 指定附件信息
$msg->attach(Type => 'TEXT',
Path => './runoob.txt', # 当前目录下
Filename => 'runoob.txt',
Disposition => 'attachment'
);
$msg->send;
print "邮件发送成功\n";

你可以通过使用多个 $msg->attach 来添加多个附件。

21-Perl 发送邮件的更多相关文章

  1. 用Perl发送邮件小例子

    据传,Perl发送邮件有很多方案,但我只会用Mail::Sender这种方式,也就只能简单谈谈这种方式. 在参考众多网页后,程序书写如下: #!/usr/bin/perl -w use Mail::S ...

  2. python学习(21) smtp发送邮件

    原文链接: https://www.jianshu.com/p/369ec15bfe22 本文介绍python发送邮件模块smtplib以及相关MIME模块.smtplib用于生成邮件发送的代理,发送 ...

  3. Perl脚本学习经验(四)--Perl中sftp的使用

    使用sftp,需要使用Except模块,该模块需要下载安装在perl目录下,可以上http://www.cpan.org/上下载对应的安装包:1. 用root用户登录环境:2. cd /usr/lib ...

  4. Perl系列文章

    0.Perl书籍推荐 Perl书籍下载 密码:kkqx 下面是一些我学习Perl过程中读过完整的或部分章节的觉得好的书. 入门级别1:<Perl语言入门>即小骆驼 入门级别2:<In ...

  5. 使用perl发邮件

    如果你使用的是 window 系统,没有 sendmail 工具.这时你就可以使用 perl 的 MIME:Lite 模块作为邮件客户端来发送邮件. 这里我们直接用 cpan 来安装(需要 root ...

  6. Node.js 网页爬虫再进阶,cheerio助力

    任务还是读取博文标题. 读取app2.js // 内置http模块,提供了http服务器和客户端功能 var http=require("http"); // cheerio模块, ...

  7. nginx 基础文档

    Nginx基础 1.  nginx安装 2.  nginx 编译参数详解 3.  nginx安装配置+清缓存模块安装 4.  nginx+PHP 5.5 5.  nginx配置虚拟主机 6.  ngi ...

  8. [nginx] 网上最全面nginx教程(近100篇文章整理)

    转载:http://bbs.linuxtone.org/thread-25588-1-1.html Nginx基础 1.  nginx安装 2.  nginx 编译参数详解 3.  nginx安装配置 ...

  9. 后台管理系统之邮件开发(Java实现)

    一,功能点 后台管理系统,添加用户时.对注册的新用户邮箱发送初始密码. 二,代码实现 1.Mail实体类 public class Mail { private Set<String> r ...

随机推荐

  1. CentOS 7服务器下Nginx安装配置

    一.安装编译工具及库文件 $ yum -y install make zlib zlib-devel gcc gcc-c++ libtool openssl openssl-devel pcre pc ...

  2. 【JDBC】使用Spring提供的JDBCTemplate通过PrepareStatement向MySql数据库插入千万条数据,耗时32m47s,速度提升有限

    数据库环境还和原来一样,只是从Statement换成了PrepareStatement,都说PrepareStatement因为预编译比Statement快,但是实际运行真快不了多少. 代码如下: p ...

  3. SQLServer通过链接服务器调用Oracle 存储过程

    语法: declare @输出参数 数据类型; exec(' exec 存储过程(?, ?)', 输入参数, @输出参数 out) at 链接服务器名 参考文章: SQL2008 链接Oracle 调 ...

  4. [面试] Java高级软件工程师面试考纲(转)

    如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构.算法.网络.操作系统等知识.因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对 ...

  5. react中回车enter事件处理

    对于常见的搜索需求业务场景,用户输入完成后,点击enter事件请求数据,要求不提交页面,实现数据局部更新,这需要用到react中的表单Forms. 处理方法: (1)html书写 form标签中去掉a ...

  6. WebXML部署服务

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmln ...

  7. 一百二十五:CMS系统之首页轮播实现

    把base模板分为左右两块版心 .main-container{ /*整体版心*/ width: 990px; margin: 0 auto; overflow: hidden;}.lg-contai ...

  8. python中pip的安装与更新

    python -m pip install --upgrade pip --force-reinstall

  9. 语音文件 pcm 静默(静音)判断

    转载:http://www.voidcn.com/relative/p-fwdkigvh-bro.html pcm 文件存储的是 原始的声音波型二进制流,没有文件头. (1)首先要确认 pcm文件的每 ...

  10. androidstudio的安装与抓log

    公司新开发的软件是基于unity的,我们被告知unity是不允许charles抓包的,故此只能只用 Android   studio 一. Android    studio的安装与配置 在此我就不赘 ...