| Windows95/98,NT下如何发EMAIL |
|
作者:未知 文章来源:网海之贝 点击数: 更新时间:2004-8-17 11:01:08  |
在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\"")
|
| 文章录入:admin 责任编辑:admin |
|
上一篇文章: Perl是什么?
下一篇文章: 在Linux下访问MS SQL Server数据库 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |