`

用Perl查询天气并发送邮件

    博客分类:
  • Perl
阅读更多

use Net::SMTP;
use Net::SMTP_auth;
use MIME::Base64;
###############################################
use LWP::Simple;
use strict;
use Encode;
use HTML::TableExtract;
use DBI;
$| = 1;
my $html=get("http://www.weather.com.cn/html/weather/101010100.shtml");
my $tree = HTML::TableExtract->new( attribs => { class => 'yuBaoTable' } );
$tree->parse($html);
my $i=0;
my $msg="";
my $m="";
$| = 1;
foreach my $ts ($tree->tables) {
    if ($i<2){
        foreach my $row ($ts->rows) {
            $msg=join(',', @$row);
            $msg = encode("gb2312", $msg);
           my @aa=split(/,/,$msg);
           foreach my $item(@aa){
             if ($item){
                $m=$m.$item.";";
                $m=~s/\s//g;
             }
           }
       }
        $i++;
    }
    $m = $m . "lbk";
}
$m=~tr/;/\n/s;
$m =~ s/lbk/\n/g;
################################################
my $mail_server = 'smtp.163.com';
my $mail_from = 'libingkui0102@163.com';
my $mail_to = 'libingkui0102@163.com';
my $uname='libingkui0102';
my $passwd='*********';

#开启Debug模式
#$smtp = Net::SMTP->new("$mail_server" , Debug => 1);
#普通发送模式
my $smtp = Net::SMTP->new("$mail_server" );
$smtp->auth("$uname", "$passwd");
$smtp->mail("$mail_from");
$smtp->to("$mail_to");
$smtp->data();
$smtp->datasend("To: $mail_from\n");
#$smtp->datasend("Cc: 'libingkui0102@163.com', 'libingkui0102@163.com'\n");
$smtp->datasend("From: $mail_from\n");
$smtp->datasend("Reply-To: $mail_from\n");
$smtp->datasend("Return-Path: $mail_from\n");
$smtp->datasend("Subject: 1 Subject\n");
#$smtp->datasend("Content-Type: text/plain; ChartSet=gb2312");
$smtp->datasend("\n");

# Send your email content
#$smtp->datasend("Hello world!世界, 你好!\n");
$smtp->datasend("$m");
$smtp->datasend("\n");
$smtp->dataend();
$smtp->quit;

 

分享到:
评论
1 楼 bzhao 2011-08-22  
it works!

相关推荐

    Perl发送邮件脚本

    一个perl发送邮件的脚本: 功能: mailto.pl -s Subject -t To -f file-content -h Format-HTML -s 指定主题 -t 指定接收人,多人以,分隔 -f 邮件内容,发之前放在文件中 -h 以HTML格式发送,缺省以文本方式发送 ...

    perl发送邮件

    perl发送邮件脚本,一个简单的发生邮件的代码只有几行。

    perl smtp发送邮件

    perl smtp 发送邮件 自动发送邮件

    perl自动发邮件

    可实现perl自动发送邮件 可以实现邮件自动发送 后台执行

    利用perl给多人发送邮件

    在unix下利用perl 给多人发送邮件

    perl读取excel内容,并发送html邮件!中文不乱码

    perl读取excel内容,并发送html邮件!中文不乱码,直接下载可用,只需要改一下文件路径,这是已经上生产的脚本

    perl 写的发邮件smtp

    perl 写的发邮件smtp perl 写的发邮件smtpperl 写的发邮件smtp

    perl发送html邮件

    利用perl脚本发送邮件的时候,有时候需要使用html格式,此脚本就是利用perl发送html邮件的一个例子

    Perl的Email 发送程序与插件

    Perl的Email 发送程序与插件。pl 文件加 Mail:Sender插件,程序亲自测试是成功的!

    局域网发送匿名邮件的perl脚本

    配置一下 ip地址 my $ADDR=pack('SnC4x8',$PF_INET,$port,192,168,60,10); 和要发送的邮件地址 就可以发送匿名邮件

    perl脚本perl脚本perl脚本

    perl脚本perl脚本perl脚本perl脚本

    perl短信模块用于手机发送短信

    perl连接手机发短信模块,手机必须支持at命令

    sendEmail一个用perl写的邮件客户端

    sendEmail一个用perl写的邮件客户端,轻量级,支持命令发送邮件

    历史天气数据获取perl代码

    用perl写的一个获取历史天气数据的代码,更新时间是2011 10月 1日 输出文件编码utf8

    Perl用Post方法从新浪查天气

    Perl用Post方法从新浪查天气 se strict; use LWP; use Encode; use IO::String; use Getopt::Long;

    perl-Mail-Sendmail

    在perl中使用本机的sendmail发送邮件的代码如下: #!/usr/bin/perl use strict; my($r_mail) = 'xxxx@163.com'; my($s_mail) = 'root@abc.cn'; my($subject) = '邮件标题'; open(MAIL, '|/usr/lib/sendmail -t'); ...

    Perl-5.10.0版本

    Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0...

    windows Strawberry Perl 5.32最新版本

    windows Strawberry Perl 5.32最新版本 ,适合调试 perl windows Strawberry Perl 5.32最新版本 ,适合调试 perl windows Strawberry Perl 5.32最新版本 ,适合调试 perl windows Strawberry Perl 5.32最新版本 ...

    草莓perl安装包下载

    草莓perl安装包下载,新版本 Strawberry Perl是用于MS Windows的perl环境,其中包含运行和开发perl应用程序所需的一切。 它被设计为尽可能接近UNIX系统上的perl环境。 它包括perl二进制文件,编译器(gcc)+相关...

    strawberry-perl-5.30.1.1-64bit.zip

    根据《Mysql高性能》一书作者的推荐,使用pt-quest-digest工具能够有效分析mysql慢查询,有助理快速定位应用程序mysql性能瓶颈,并有针对性地进行查询sql优化或数据库的优化。 pt-query-digest是一个perl语言编写...

Global site tag (gtag.js) - Google Analytics