<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=GB2312" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
首先需要指出的是:gmail 所使用的端口不是默认的 SMTP 端口25,
而是端口465,而且也不是普通的smtp连接,而是带ssl的smtp(有关信信息在gmail的帮助中的邮件客户端设置可以看到)。<br>
你可以在CPAN上搜索smtp ssl 等的模块。perl 核心模块中的Net::SMTP只支持sasl验证。<br>
另外一个问题是:在认证之前你应该给smtp服务器发送一个ELHO命令,即先$smtp-&gt;hello(),然后才是$smtp-&gt;
auth();关于smtp协议的细节<br>
你有时间的话可以看一下相关的rfc文档,可以在google搜索" smtp rfc ",这样你会对邮件发送的细节有个清楚的认识。<br>
Bruce Cheng 写道:
<blockquote cite="mid:000401c86e3e$d6b7da20$84278e60$@com" type="cite">
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
  <style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@宋体";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        font-size:10.5pt;
        font-family:"Calibri","sans-serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML 预设格式 Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:宋体;
        color:black;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.HTMLChar
        {mso-style-name:"HTML 预设格式 Char";
        mso-style-priority:99;
        mso-style-link:"HTML 预设格式";
        font-family:"Courier New";
        color:black;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
-->
  </style><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
  <div class="Section1">
  <p class="MsoNormal"><span
 style="font-family: 宋体; color: rgb(31, 73, 125);">我的代码是这样写的:</span><span
 style="color: rgb(31, 73, 125);" lang="EN-US"><o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">#!
c:/perl/bin/perl.exe<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">use Net::SMTP ;<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">$smtp =
Net::SMTP-&gt;new('smtp.gmail.com') or die "Error1 : $!\n" ;<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">print
$smtp-&gt;domain ;<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">$smtp-&gt;auth('username',
'password')&nbsp; or die "Error2 : $!\n";<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">$smtp-&gt;mail('<a class="moz-txt-link-abbreviated" href="mailto:bruce1914@gmail.com">bruce1914@gmail.com</a>')&nbsp;
or die "Error3 : $!\n";<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">$smtp-&gt;to('<a class="moz-txt-link-abbreviated" href="mailto:bruce1985cx@163.com">bruce1985cx@163.com</a>')&nbsp;
or die "Error4 : $!\n";<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">$smtp-&gt;data() ;<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">print $smtp ;<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">$smtp-&gt;datasend("To:
<a class="moz-txt-link-abbreviated" href="mailto:bruce1985cx@163.com\n">bruce1985cx@163.com\n</a>") or die "Error5 : $!\n" ;<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">$smtp-&gt;datasend("\n")
;<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">$smtp-&gt;datasend("A
simple test message\n") or die "Error 6: $!\n" ;<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">$smtp-&gt;dataend()&nbsp;
or die "Error7 : $!\n";<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">$smtp-&gt;quit ;<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span
 style="font-family: 宋体; color: rgb(31, 73, 125);">运行结果:</span><span
 style="color: rgb(31, 73, 125);" lang="EN-US"><o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">&nbsp; Error2 : No
such file or directory<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US">&nbsp; mx.google.com<o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span
 style="font-family: 宋体; color: rgb(31, 73, 125);">我试了很多网上别人提供的代码都不行,不知道
哪儿有问题。</span><span style="color: rgb(31, 73, 125);" lang="EN-US"><o:p></o:p></span></p>
  <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>&nbsp;</o:p></span></p>
  </div>
</blockquote>
</body>
</html>