zoukankan      html  css  js  c++  java
  • 21-Perl 发送邮件

    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 ";
    print MAIL "From: $from ";
    print MAIL "Subject: $subject ";
    # 邮箱信息
    print MAIL $message;
    close(MAIL);
    print "邮件发送成功 ";

    1.1 发送 HTML 格式邮件
    我们可以在邮件头部添加 Content-type: text/html 来发送 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 ";
    print MAIL "From: $from ";
    print MAIL "Subject: $subject ";
    print MAIL "Content-type: text/html ";
    # 邮箱信息
    print MAIL $message;
    close(MAIL);
    print "邮件发送成功 ";

    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 "邮件发送成功 ";

    2.1 发送 HTML 格式邮件
    我们可以在邮件头部添加 Content-type: text/html 来发送 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 "邮件发送成功 ";

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

  • 相关阅读:
    HashMap遍历的两种方式
    抽象类和接口的区别是什么
    “用户、组或角色'XXX'在当前数据库中已存在”问题
    FCKEditor在IE10下的不兼容问题解决方法
    ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。解决方法!
    ASP.NET中Url重写后,打不开真正的Html页面
    运用正则表达式在Asp中过滤Html标签代码的四种不同方法
    静态页分页功能js代码
    .NET生成静态页面的方案总结
    禁止ViewState的3种解决方法
  • 原文地址:https://www.cnblogs.com/BradMiller/p/11860687.html
Copyright © 2011-2022 走看看