home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _73c5de422259431f4e0bd5be07f24de4 < prev    next >
Text File  |  2000-03-23  |  9KB  |  250 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>Net::SMTP - Simple Mail Transfer Protocol Client</TITLE>
  5. <LINK REL="stylesheet" HREF="../../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> Net::SMTP - Simple Mail Transfer Protocol Client</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#examples">EXAMPLES</A></LI>
  26.     <LI><A HREF="#constructor">CONSTRUCTOR</A></LI>
  27.     <LI><A HREF="#methods">METHODS</A></LI>
  28.     <LI><A HREF="#see also">SEE ALSO</A></LI>
  29.     <LI><A HREF="#author">AUTHOR</A></LI>
  30.     <LI><A HREF="#copyright">COPYRIGHT</A></LI>
  31. </UL>
  32. <!-- INDEX END -->
  33.  
  34. <HR>
  35. <P>
  36. <H1><A NAME="name">NAME</A></H1>
  37. <P>Net::SMTP - Simple Mail Transfer Protocol Client</P>
  38. <P>
  39. <HR>
  40. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  41. <UL>
  42. <LI>Linux</LI>
  43. <LI>Solaris</LI>
  44. <LI>Windows</LI>
  45. </UL>
  46. <HR>
  47. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  48. <PRE>
  49.     use Net::SMTP;
  50. </PRE>
  51. <PRE>
  52.  
  53.     # Constructors
  54.     $smtp = Net::SMTP->new('mailhost');
  55.     $smtp = Net::SMTP->new('mailhost', Timeout => 60);</PRE>
  56. <P>
  57. <HR>
  58. <H1><A NAME="description">DESCRIPTION</A></H1>
  59. <P>This module implements a client interface to the SMTP and ESMTP
  60. protocol, enabling a perl5 application to talk to SMTP servers. This
  61. documentation assumes that you are familiar with the concepts of the
  62. SMTP protocol described in RFC821.</P>
  63. <P>A new Net::SMTP object must be created with the <EM>new</EM> method. Once
  64. this has been done, all SMTP commands are accessed through this object.</P>
  65. <P>The Net::SMTP class is a subclass of Net::Cmd and IO::Socket::INET.</P>
  66. <P>
  67. <HR>
  68. <H1><A NAME="examples">EXAMPLES</A></H1>
  69. <P>This example prints the mail domain name of the SMTP server known as mailhost:</P>
  70. <PRE>
  71.     #!/usr/local/bin/perl -w
  72. </PRE>
  73. <PRE>
  74.  
  75.     use Net::SMTP;</PRE>
  76. <PRE>
  77.  
  78.     $smtp = Net::SMTP->new('mailhost');
  79.     print $smtp->domain,"\n";
  80.     $smtp->quit;</PRE>
  81. <P>This example sends a small message to the postmaster at the SMTP server
  82. known as mailhost:</P>
  83. <PRE>
  84.     #!/usr/local/bin/perl -w
  85. </PRE>
  86. <PRE>
  87.  
  88.     use Net::SMTP;</PRE>
  89. <PRE>
  90.  
  91.     $smtp = Net::SMTP->new('mailhost');</PRE>
  92. <PRE>
  93.  
  94.     $smtp->mail($ENV{USER});
  95.     $smtp->to('postmaster');</PRE>
  96. <PRE>
  97.  
  98.     $smtp->data();
  99.     $smtp->datasend("To: postmaster\n");
  100.     $smtp->datasend("\n");
  101.     $smtp->datasend("A simple test message\n");
  102.     $smtp->dataend();</PRE>
  103. <PRE>
  104.  
  105.     $smtp->quit;</PRE>
  106. <P>
  107. <HR>
  108. <H1><A NAME="constructor">CONSTRUCTOR</A></H1>
  109. <DL>
  110. <DT><STRONG><A NAME="item_new_Net%3A%3ASMTP_%5B_HOST%2C_%5D_%5B_OPTIONS_%5D">new Net::SMTP [ HOST, ] [ OPTIONS ]</A></STRONG><BR>
  111. <DD>
  112. This is the constructor for a new Net::SMTP object. <CODE>HOST</CODE> is the
  113. name of the remote host to which a SMTP connection is required.
  114. <P>If <CODE>HOST</CODE> is not given, then the <CODE>SMTP_Host</CODE> specified in <CODE>Net::Config</CODE>
  115. will be used.</P>
  116. <P><CODE>OPTIONS</CODE> are passed in a hash like fashion, using key and value pairs.
  117. Possible options are:</P>
  118. <P><STRONG>Hello</STRONG> - SMTP requires that you identify yourself. This option
  119. specifies a string to pass as your mail domain. If not
  120. given a guess will be taken.</P>
  121. <P><STRONG>Timeout</STRONG> - Maximum time, in seconds, to wait for a response from the
  122. SMTP server (default: 120)</P>
  123. <P><STRONG>Debug</STRONG> - Enable debugging information</P>
  124. <P>Example:</P>
  125. <PRE>
  126.     $smtp = Net::SMTP->new('mailhost',
  127.                            Hello => 'my.mail.domain'
  128.                            Timeout => 30,
  129.                            Debug   => 1,
  130.                           );</PRE>
  131. <P></P></DL>
  132. <P>
  133. <HR>
  134. <H1><A NAME="methods">METHODS</A></H1>
  135. <P>Unless otherwise stated all methods return either a <EM>true</EM> or <EM>false</EM>
  136. value, with <EM>true</EM> meaning that the operation was a success. When a method
  137. states that it returns a value, failure will be returned as <EM>undef</EM> or an
  138. empty list.</P>
  139. <DL>
  140. <DT><STRONG><A NAME="item_banner">banner ()</A></STRONG><BR>
  141. <DD>
  142. Returns the banner message which the server replied with when the
  143. initial connection was made.
  144. <P></P>
  145. <DT><STRONG><A NAME="item_domain">domain ()</A></STRONG><BR>
  146. <DD>
  147. Returns the domain that the remote SMTP server identified itself as during
  148. connection.
  149. <P></P>
  150. <DT><STRONG><A NAME="item_hello">hello ( DOMAIN )</A></STRONG><BR>
  151. <DD>
  152. Tell the remote server the mail domain which you are in using the EHLO
  153. command (or HELO if EHLO fails).  Since this method is invoked
  154. automatically when the Net::SMTP object is constructed the user should
  155. normally not have to call it manually.
  156. <P></P>
  157. <DT><STRONG><A NAME="item_etrn">etrn ( DOMAIN )</A></STRONG><BR>
  158. <DD>
  159. Request a queue run for the DOMAIN given.
  160. <P></P>
  161. <DT><STRONG><A NAME="item_mail">mail ( ADDRESS [, OPTIONS] )</A></STRONG><BR>
  162. <DD>
  163. <DT><STRONG><A NAME="item_send">send ( ADDRESS )</A></STRONG><BR>
  164. <DD>
  165. <DT><STRONG><A NAME="item_send_or_mail">send_or_mail ( ADDRESS )</A></STRONG><BR>
  166. <DD>
  167. <DT><STRONG><A NAME="item_send_and_mail">send_and_mail ( ADDRESS )</A></STRONG><BR>
  168. <DD>
  169. Send the appropriate command to the server MAIL, SEND, SOML or SAML. <CODE>ADDRESS</CODE>
  170. is the address of the sender. This initiates the sending of a message. The
  171. method <A HREF="#item_recipient"><CODE>recipient</CODE></A> should be called for each address that the message is to
  172. be sent to.
  173. <P>The <A HREF="#item_mail"><CODE>mail</CODE></A> method can some additional ESMTP OPTIONS which is passed
  174. in hash like fashion, using key and value pairs.  Possible options are:</P>
  175. <PRE>
  176.  Size        => <bytes>
  177.  Return      => <???>
  178.  Bits        => "7" | "8"
  179.  Transaction => <ADDRESS>
  180.  Envelope    => <ENVID></PRE>
  181. <P></P>
  182. <DT><STRONG><A NAME="item_reset">reset ()</A></STRONG><BR>
  183. <DD>
  184. Reset the status of the server. This may be called after a message has been 
  185. initiated, but before any data has been sent, to cancel the sending of the
  186. message.
  187. <P></P>
  188. <DT><STRONG><A NAME="item_recipient">recipient ( ADDRESS [, ADDRESS [ ...]] )</A></STRONG><BR>
  189. <DD>
  190. Notify the server that the current message should be sent to all of the
  191. addresses given. Each address is sent as a separate command to the server.
  192. Should the sending of any address result in a failure then the
  193. process is aborted and a <EM>false</EM> value is returned. It is up to the
  194. user to call <A HREF="#item_reset"><CODE>reset</CODE></A> if they so desire.
  195. <P></P>
  196. <DT><STRONG><A NAME="item_to">to ( ADDRESS [, ADDRESS [...]] )</A></STRONG><BR>
  197. <DD>
  198. A synonym for <A HREF="#item_recipient"><CODE>recipient</CODE></A>.
  199. <P></P>
  200. <DT><STRONG><A NAME="item_data">data ( [ DATA ] )</A></STRONG><BR>
  201. <DD>
  202. Initiate the sending of the data from the current message.
  203. <P><CODE>DATA</CODE> may be a reference to a list or a list. If specified the contents
  204. of <CODE>DATA</CODE> and a termination string <CODE>".\r\n"</CODE> is sent to the server. And the
  205. result will be true if the data was accepted.</P>
  206. <P>If <CODE>DATA</CODE> is not specified then the result will indicate that the server
  207. wishes the data to be sent. The data must then be sent using the <CODE>datasend</CODE>
  208. and <CODE>dataend</CODE> methods described in <A HREF="../../../site/lib/Net/Cmd.html">the Net::Cmd manpage</A>.</P>
  209. <P></P>
  210. <DT><STRONG><A NAME="item_expand">expand ( ADDRESS )</A></STRONG><BR>
  211. <DD>
  212. Request the server to expand the given address Returns an array
  213. which contains the text read from the server.
  214. <P></P>
  215. <DT><STRONG><A NAME="item_verify">verify ( ADDRESS )</A></STRONG><BR>
  216. <DD>
  217. Verify that <CODE>ADDRESS</CODE> is a legitimate mailing address.
  218. <P></P>
  219. <DT><STRONG><A NAME="item_help">help ( [ $subject ] )</A></STRONG><BR>
  220. <DD>
  221. Request help text from the server. Returns the text or undef upon failure
  222. <P></P>
  223. <DT><STRONG><A NAME="item_quit">quit ()</A></STRONG><BR>
  224. <DD>
  225. Send the QUIT command to the remote SMTP server and close the socket connection.
  226. <P></P></DL>
  227. <P>
  228. <HR>
  229. <H1><A NAME="see also">SEE ALSO</A></H1>
  230. <P><A HREF="../../../site/lib/Net/Cmd.html">the Net::Cmd manpage</A></P>
  231. <P>
  232. <HR>
  233. <H1><A NAME="author">AUTHOR</A></H1>
  234. <P>Graham Barr <<A HREF="mailto:gbarr@pobox.com">gbarr@pobox.com</A>></P>
  235. <P>
  236. <HR>
  237. <H1><A NAME="copyright">COPYRIGHT</A></H1>
  238. <P>Copyright (c) 1995-1997 Graham Barr. All rights reserved.
  239. This program is free software; you can redistribute it and/or modify
  240. it under the same terms as Perl itself.</P>
  241. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  242. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  243. <STRONG><P CLASS=block> Net::SMTP - Simple Mail Transfer Protocol Client</P></STRONG>
  244. </TD></TR>
  245. </TABLE>
  246.  
  247. </BODY>
  248.  
  249. </HTML>
  250.