• 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 来添加多个附件。

  • 相关阅读:
    软件工程课程总结
    团队-象棋游戏-团队一阶段互评
    课后作业-结对编程项目总结
    团队-象棋游戏-模块测试过程
    团队编程项目作业3-模块开发过程
    结对-结对编项目作业名称-最终程序
    2017-10-30 课后作业-阅读任务-阅读提问
    阅读任务-阅读提问
    2017-10-30 课后作业-阅读任务-阅读笔记-2
    2017-10-06-构建之法:现代软件工程-阅读笔记
  • 原文地址:https://www.cnblogs.com/BradMiller/p/11860687.html
Copyright © 2020-2023  润新知