奇趣技术网 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 技术论坛
中华网络安全联盟 >> 程序开发 >> Perl >> Windows95/98,NT下如何发EMAIL
程序开发
Asp
PHP
JSP
CGI/Perl
XML
.Net
C/C++/C#
Visual Basic
Visual C++
Delphi
Java
汇编语言
  • LB5000XP论坛配合SERV

  • 获取随机的由大小写字

  • Perl操作Mysql数据库

  • Perl在NT下的快速简便

  • 用Perl制作页面计数器

  • 用Perl语句来代替常用

  • 用 perl 实现文件上传

  • perl 域名查询程序

  • Windows95/98,NT下如何发EMAIL
    字体:

    中华网络安全联盟    作者:佚名    来源:网络转载    时间:2006-3-21


    在UNIX环境下,CGI程序发EMAIL都是用sendmail, 在Windows95/98,NT没有sendmail,CGI程序如何发邮件呢?其实方法多得很呢!

    1.Windows环境下发邮件程序

    这类程序很多,如blat,sendmail for windows,cgimail等等,它们的用法和UNIX下的sendmail极其相似,许多UNIX下CGI程序不用怎么修改就可以在Windows下使用.

    Blat http://www.blat.com (免费)
    Sendmail for NT http://www.sendmail.com (商业软件)
    CgiMail http://www.stalkerlab.ch/ (免费)
    Sendmail for Windows http://www.green-bean.com/bcware/sendmail.htm (共享软件)

    另外Zeng Hui朋友(zeng_h@mail.hb.cnpc.com.cn)给我来信说他发现在SAMBAR 4.1中的BIN目录下有个MAILIT.EXE文件,其功能与BLAT.EXE相同,而且不用先安装.

    2.采用Perl模块Net::SMTP

    系统必须支持SMTP协议,NT中可安装Exchange Server

    use Net::SMTP;

    {
    my $to = 'preston@home.com';
    my $from = $ENV{USER} || $ENV{USERNAME};
    my $subject = "Another test";

    my $smtp = Net::SMTP->new('mail');

    $smtp->mail($from);
    $smtp->to($to);

    $smtp->data();
    $smtp->datasend("To: $to\n");
    $smtp->datasend("From: $from\n");
    $smtp->datasend("Subject: $subject\n");
    $smtp->datasend("X-MyToken: ABCD\n");
    $smtp->datasend("\n");
    $smtp->datasend("A simple test message\n");
    $smtp->dataend() || print "FAILED send!\n";

    $smtp->quit;
    }

    print "\nMAIL sent OK\n";
    -----

    注意"$ENV{USER}"是Unix中用的,而$ENV{USERNAME}"是Windows NT中用的

    3.用Outlook发邮件

    下面的程序在Perl for Win32 (build 316)正常运行过
    # Sender's Name and Password
    #
    my $sender = "Microsoft Outlook"; # profile to be used
    my $passwd = "MS Exhange Settings Password"; #profile password

    # Create a new MAPI Session
    #
    use OLE;
    $session = CreateObject OLE 'MAPI.Session' || die $!;

    my $err = $session->Logon($sender, $passwd);
    if ($err) {
    die "Logon failed: $!";
    }

    # Add a new message to the Outbox.
    #
    $msg = $session->Outbox->Messages->Add();

    # Add the recipient.
    #
    $rcpt = $msg->Recipients->Add();
    $rcpt->{Name} = 'recepient@host.org'; # email address of recepient
    $rcpt->Resolve();

    # Create a subject and a body.
    #
    $msg->{Subject} = "Test Message";
    $msg->{Text} =
    "This is a sample test message. Using NT 4.0.

    Cheers,

    Mr. Email";

    # Send the message and log off.
    #
    $msg->Update();
    $msg->Send(0, 0, 0);
    $session->Logoff();

    发送附件和拷贝也可以

    $recipient='user@host.com';
    $attachment='c:/attach.doc'
    $profile="MS Exchange Settings";#profile name
    $mailmeessage="HELLO";
    $password="MS Exhange Settings Password";#profile password
    $subject='TEST';

    system("mapisend -u \"$profile\" -p \"$password\" -f \"$attachment\" -s
    \"$subject\" -r $recipient -m \"$mailmessage\"")

    字体:
     
    设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
    Copyright©2006-2008 中华网络安全联盟 All rights reserved.