Windows95/98,NT下如何發EMAIL - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- Windows95/98,NT下如何發EMAIL (http://www.webasp.net/article/8/7781.htm) |
| -- 作者:未知 -- 發佈日期: 2003-09-13 |
| 在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\"") |
| webasp.net |