• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Windows95/98,NT下如何发EMAIL

发布: 2007-7-04 20:04 | 作者: admin | 来源:  网友评论 | 查看: 27次 | 进入软件测试论坛讨论

领测软件测试网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\"")

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网