天天看点

(包括模块安装)Perl->使用Net::SMTP_auth发邮件

使用Net::SMTP_auth发邮件,首先要先安装Net::SMTP_auth模块。

1. Windows Operating System:如果是在windows操作系统使用的ActivePerl的话,则进入ActivePerl的安装目录的可执行程序目录,也就是bin目录。(例如:C:/Perl/bin)执行命令ppm-shell ,(PPM:Perl Package Manager

Perl包管理器),然后执行命令:

C:/Perl/bin>ppm-shell

ppm 4.01

Copyright (C) 2007 ActiveState Software Inc.  All rights reserved.

ppm> install Net::SMTP_auth

2. Linux Operating System:如果是在linux操作系统使用Perl的话,则使用命令cpan后面跟要安装的模块就可以了。(如果是第一次使用cpan的话,会要求先配置cpan的一些信息,一直按默认的设置就可以了)。

[ [email protected] ~]# cpan Net::SMTP_auth

(Net::SMTP_auth使用说明: http://search.cpan.org/~apleiner/Net-SMTP_auth-0.08/SMTP_auth.pm )

接下来就是要编写Perl程序,测试发信。

程序名称:SMTP.pl

#!c:/perl/bin/perl.exe -w  

#如果你的是Linux环境下的话,则使用(#!/usr/bin/perl -w)

use Net::SMTP_auth;

$smtp = Net::SMTP_auth->new('smtp.qq.com',

Hello => 'qq.com',

Debug => 1);

$smtp->auth('LOGIN', '您的QQ号码', ‘您的QQ密码');

$smtp->mail('您的QQ号码@qq.com');

$smtp->to('您的QQ号码@qq.com');

$smtp->data();

$smtp->datasend("From:您的QQ号码/@qq.com /n");

$smtp->datasend("To: 您的QQ号码/@qq.com /n");

$smtp->datasend("Subject: Test Mail /n");

$smtp->datasend("/n");

$smtp->datasend("这是一封测试邮件 /n");

$smtp->dataend();

$smtp->quit;

测试结果:

C:/test>perl smtp.pl

Net::SMTP_auth>>> Net::SMTP_auth(0.08)

Net::SMTP_auth>>>   Net::SMTP(2.31)

Net::SMTP_auth>>>     Net::Cmd(2.29)

Net::SMTP_auth>>>       Exporter(5.60)

Net::SMTP_auth>>>     IO::Socket::INET(1.31)

Net::SMTP_auth>>>       IO::Socket(1.30)

Net::SMTP_auth>>>         IO::Handle(1.27)

Net::SMTP_auth=GLOB(0x1a196c4)<<< 220 smtp.qq.com ESMTP QQMail Ver 2.2

Net::SMTP_auth=GLOB(0x1a196c4)>>> EHLO qq.com

Net::SMTP_auth=GLOB(0x1a196c4)<<< 250-smtp.qq.com

Net::SMTP_auth=GLOB(0x1a196c4)<<< 250-PIPELINING

Net::SMTP_auth=GLOB(0x1a196c4)<<< 250-SIZE 52428800

Net::SMTP_auth=GLOB(0x1a196c4)<<< 250-AUTH LOGIN

Net::SMTP_auth=GLOB(0x1a196c4)<<< 250-AUTH=LOGIN

Net::SMTP_auth=GLOB(0x1a196c4)<<< 250 8BITMIME

Net::SMTP_auth=GLOB(0x1a196c4)>>> AUTH LOGIN

Net::SMTP_auth=GLOB(0x1a196c4)<<< 334 VXNlcm5hbWU6

Net::SMTP_auth=GLOB(0x1a196c4)>>> NDcyNTU0OTc3

Net::SMTP_auth=GLOB(0x1a196c4)<<< 334 UGFzc3dvcmQ6

Net::SMTP_auth=GLOB(0x1a196c4)>>> W3dhbnl4eTc4OTIwNTld

Net::SMTP_auth=GLOB(0x1a196c4)<<< 235 Authentication successful

Net::SMTP_auth=GLOB(0x1a196c4)>>> MAIL FROM:<您的QQ号码@qq.com>

Net::SMTP_auth=GLOB(0x1a196c4)<<< 250 Ok

Net::SMTP_auth=GLOB(0x1a196c4)>>> RCPT TO:<您的QQ号码@qq.com>

Net::SMTP_auth=GLOB(0x1a196c4)<<< 250 Ok

Net::SMTP_auth=GLOB(0x1a196c4)>>> DATA

Net::SMTP_auth=GLOB(0x1a196c4)<<< 354 End data with <CR><LF>.<CR><LF>

Net::SMTP_auth=GLOB(0x1a196c4)>>> From: 您的QQ号码@qq.com

Net::SMTP_auth=GLOB(0x1a196c4)>>> To: 您的QQ号码@qq.com

Net::SMTP_auth=GLOB(0x1a196c4)>>> Subject: Test Mail

Net::SMTP_auth=GLOB(0x1a196c4)>>> 这是一封测试邮件

Net::SMTP_auth=GLOB(0x1a196c4)>>> .

Net::SMTP_auth=GLOB(0x1a196c4)<<< 250 Ok: queued as

Net::SMTP_auth=GLOB(0x1a196c4)>>> QUIT

Net::SMTP_auth=GLOB(0x1a196c4)<<< 221 Bye