| 
 
     
- UID
 - 1 
 - 威望
 - 1240 点 
 - 金钱
 - 24019 金币 
 - 点卡
 - 317 点 
 
  | 
1#
 
发表于 2005-8-25 19:04
 |  只看该作者
 
 
 
 Windows9598,NT下如何发EMAIL
作者:小歪歪 
email: annysun@163.net 
日期:2000-9-1 15:38:46 
在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();
 - [code]
 - 发送附件和拷贝也可以
 - [code]
 - $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\"")
 
  复制代码 |   
 
 
 
 
                     我是一个呼吸着现在的空气而生活在过去的人 
               这样的注定孤独,孤独的身处闹市却犹如置身于荒漠 
                                     我已习惯了孤独,爱上孤独 
                                 他让我看清了自我,还原了自我 
                             让我再静静的沉思中得到快乐和满足 
                                   再孤独的世界里我一遍又一遍 
                                   不厌其烦的改写着自己的过去 
                                             延伸到现在与未来 
                                       然而那只是泡沫般的美梦 
                                 产生的时刻又伴随着破灭的到来 
                         在灰飞烟灭的瞬间我看到的是过程的美丽 
                                      而不是结果的悲哀。。。 
 | 
 
 
 
 |