smtp.html

来自「perl教程」· HTML 代码 · 共 458 行 · 第 1/2 页

HTML
458 行
字号
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>Net::SMTP - Simple Mail Transfer Protocol Client</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>

<body>

<script>writelinks('__top__',2);</script>
<h1><a>Net::SMTP - Simple Mail Transfer Protocol Client</a></h1>
<p><a name="__index__"></a></p>

<!-- INDEX BEGIN -->

<ul>

	<li><a href="#name">NAME</a></li>
	<li><a href="#synopsis">SYNOPSIS</a></li>
	<li><a href="#description">DESCRIPTION</a></li>
	<li><a href="#examples">EXAMPLES</a></li>
	<li><a href="#constructor">CONSTRUCTOR</a></li>
	<li><a href="#methods">METHODS</a></li>
	<li><a href="#addresses">ADDRESSES</a></li>
	<li><a href="#see_also">SEE ALSO</a></li>
	<li><a href="#author">AUTHOR</a></li>
	<li><a href="#copyright">COPYRIGHT</a></li>
</ul>
<!-- INDEX END -->

<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>Net::SMTP - Simple Mail Transfer Protocol Client</p>
<p>
</p>
<hr />
<h1><a name="synopsis">SYNOPSIS</a></h1>
<pre>
    <span class="keyword">use</span> <span class="variable">Net::SMTP</span><span class="operator">;</span>
</pre>
<pre>
    <span class="comment"># Constructors</span>
    <span class="variable">$smtp</span> <span class="operator">=</span> <span class="variable">Net::SMTP</span><span class="operator">-&gt;</span><span class="variable">new</span><span class="operator">(</span><span class="string">'mailhost'</span><span class="operator">);</span>
    <span class="variable">$smtp</span> <span class="operator">=</span> <span class="variable">Net::SMTP</span><span class="operator">-&gt;</span><span class="variable">new</span><span class="operator">(</span><span class="string">'mailhost'</span><span class="operator">,</span> <span class="string">Timeout</span> <span class="operator">=&gt;</span> <span class="number">60</span><span class="operator">);</span>
</pre>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>This module implements a client interface to the SMTP and ESMTP
protocol, enabling a perl5 application to talk to SMTP servers. This
documentation assumes that you are familiar with the concepts of the
SMTP protocol described in RFC821.</p>
<p>A new Net::SMTP object must be created with the <em>new</em> method. Once
this has been done, all SMTP commands are accessed through this object.</p>
<p>The Net::SMTP class is a subclass of Net::Cmd and IO::Socket::INET.</p>
<p>
</p>
<hr />
<h1><a name="examples">EXAMPLES</a></h1>
<p>This example prints the mail domain name of the SMTP server known as mailhost:</p>
<pre>
    <span class="comment">#!/usr/local/bin/perl -w</span>
</pre>
<pre>
    <span class="keyword">use</span> <span class="variable">Net::SMTP</span><span class="operator">;</span>
</pre>
<pre>
    <span class="variable">$smtp</span> <span class="operator">=</span> <span class="variable">Net::SMTP</span><span class="operator">-&gt;</span><span class="variable">new</span><span class="operator">(</span><span class="string">'mailhost'</span><span class="operator">);</span>
    <span class="keyword">print</span> <span class="variable">$smtp</span><span class="operator">-&gt;</span><span class="variable">domain</span><span class="operator">,</span><span class="string">"\n"</span><span class="operator">;</span>
    <span class="variable">$smtp</span><span class="operator">-&gt;</span><span class="variable">quit</span><span class="operator">;</span>
</pre>
<p>This example sends a small message to the postmaster at the SMTP server
known as mailhost:</p>
<pre>
    <span class="comment">#!/usr/local/bin/perl -w</span>
</pre>
<pre>
    <span class="keyword">use</span> <span class="variable">Net::SMTP</span><span class="operator">;</span>
</pre>
<pre>
    <span class="variable">$smtp</span> <span class="operator">=</span> <span class="variable">Net::SMTP</span><span class="operator">-&gt;</span><span class="variable">new</span><span class="operator">(</span><span class="string">'mailhost'</span><span class="operator">);</span>
</pre>
<pre>
    <span class="variable">$smtp</span><span class="operator">-&gt;</span><span class="variable">mail</span><span class="operator">(</span><span class="variable">$ENV</span><span class="operator">{</span><span class="string">USER</span><span class="operator">}</span><span class="operator">);</span>
    <span class="variable">$smtp</span><span class="operator">-&gt;</span><span class="variable">to</span><span class="operator">(</span><span class="string">'postmaster'</span><span class="operator">);</span>
</pre>
<pre>
    <span class="variable">$smtp</span><span class="operator">-&gt;</span><span class="variable">data</span><span class="operator">();</span>
    <span class="variable">$smtp</span><span class="operator">-&gt;</span><span class="variable">datasend</span><span class="operator">(</span><span class="string">"To: postmaster\n"</span><span class="operator">);</span>
    <span class="variable">$smtp</span><span class="operator">-&gt;</span><span class="variable">datasend</span><span class="operator">(</span><span class="string">"\n"</span><span class="operator">);</span>
    <span class="variable">$smtp</span><span class="operator">-&gt;</span><span class="variable">datasend</span><span class="operator">(</span><span class="string">"A simple test message\n"</span><span class="operator">);</span>
    <span class="variable">$smtp</span><span class="operator">-&gt;</span><span class="variable">dataend</span><span class="operator">();</span>
</pre>
<pre>
    <span class="variable">$smtp</span><span class="operator">-&gt;</span><span class="variable">quit</span><span class="operator">;</span>
</pre>
<p>
</p>
<hr />
<h1><a name="constructor">CONSTRUCTOR</a></h1>
<dl>
<dt><strong><a name="item_new">new ( [ HOST ] [, OPTIONS ] )</a></strong>

<dd>
<p>This is the constructor for a new Net::SMTP object. <code>HOST</code> is the
name of the remote host to which an SMTP connection is required.</p>
</dd>
<dd>
<p><code>HOST</code> is optional. If <code>HOST</code> is not given then it may instead be
passed as the <code>Host</code> option described below. If neither is given then
the <code>SMTP_Hosts</code> specified in <code>Net::Config</code> will be used.</p>
</dd>
<dd>
<p><code>OPTIONS</code> are passed in a hash like fashion, using key and value pairs.
Possible options are:</p>
</dd>
<dd>
<p><strong>Hello</strong> - SMTP requires that you identify yourself. This option
specifies a string to pass as your mail domain. If not given localhost.localdomain
will be used.</p>
</dd>
<dd>
<p><strong>Host</strong> - SMTP host to connect to. It may be a single scalar, as defined for
the <code>PeerAddr</code> option in <a href="../../lib/IO/Socket/INET.html">the IO::Socket::INET manpage</a>, or a reference to
an array with hosts to try in turn. The <a href="#item_host">host</a> method will return the value
which was used to connect to the host.</p>
</dd>
<dd>
<p><strong>LocalAddr</strong> and <strong>LocalPort</strong> - These parameters are passed directly
to IO::Socket to allow binding the socket to a local port.</p>
</dd>
<dd>
<p><strong>Timeout</strong> - Maximum time, in seconds, to wait for a response from the
SMTP server (default: 120)</p>
</dd>
<dd>
<p><strong>ExactAddresses</strong> - If true the all ADDRESS arguments must be as
defined by <code>addr-spec</code> in RFC2822. If not given, or false, then
Net::SMTP will attempt to extract the address from the value passed.</p>
</dd>
<dd>
<p><strong>Debug</strong> - Enable debugging information</p>
</dd>
<dd>
<p>Example:</p>
</dd>
<dd>
<pre>
    <span class="variable">$smtp</span> <span class="operator">=</span> <span class="variable">Net::SMTP</span><span class="operator">-&gt;</span><span class="variable">new</span><span class="operator">(</span><span class="string">'mailhost'</span><span class="operator">,</span>
                           <span class="string">Hello</span> <span class="operator">=&gt;</span> <span class="string">'my.mail.domain'</span>
                           <span class="string">Timeout</span> <span class="operator">=&gt;</span> <span class="number">30</span><span class="operator">,</span>
                           <span class="string">Debug</span>   <span class="operator">=&gt;</span> <span class="number">1</span><span class="operator">,</span>
                          <span class="operator">);</span>
</pre>
</dd>
<dd>
<pre>
    <span class="comment"># the same</span>
    <span class="variable">$smtp</span> <span class="operator">=</span> <span class="variable">Net::SMTP</span><span class="operator">-&gt;</span><span class="variable">new</span><span class="operator">(</span>
                           <span class="string">Host</span> <span class="operator">=&gt;</span> <span class="string">'mailhost'</span><span class="operator">,</span>
                           <span class="string">Hello</span> <span class="operator">=&gt;</span> <span class="string">'my.mail.domain'</span>
                           <span class="string">Timeout</span> <span class="operator">=&gt;</span> <span class="number">30</span><span class="operator">,</span>
                           <span class="string">Debug</span>   <span class="operator">=&gt;</span> <span class="number">1</span><span class="operator">,</span>
                          <span class="operator">);</span>
</pre>
</dd>
<dd>
<pre>
    <span class="comment"># Connect to the default server from Net::config</span>
    <span class="variable">$smtp</span> <span class="operator">=</span> <span class="variable">Net::SMTP</span><span class="operator">-&gt;</span><span class="variable">new</span><span class="operator">(</span>
                           <span class="string">Hello</span> <span class="operator">=&gt;</span> <span class="string">'my.mail.domain'</span>
                           <span class="string">Timeout</span> <span class="operator">=&gt;</span> <span class="number">30</span><span class="operator">,</span>
                          <span class="operator">);</span>
</pre>
</dd>
</li>
</dl>
<p>
</p>
<hr />
<h1><a name="methods">METHODS</a></h1>
<p>Unless otherwise stated all methods return either a <em>true</em> or <em>false</em>
value, with <em>true</em> meaning that the operation was a success. When a method
states that it returns a value, failure will be returned as <em>undef</em> or an
empty list.</p>
<dl>
<dt><strong><a name="item_banner">banner ()</a></strong>

<dd>
<p>Returns the banner message which the server replied with when the
initial connection was made.</p>
</dd>
</li>
<dt><strong><a name="item_domain">domain ()</a></strong>

<dd>
<p>Returns the domain that the remote SMTP server identified itself as during
connection.</p>
</dd>
</li>
<dt><strong><a name="item_hello">hello ( DOMAIN )</a></strong>

<dd>
<p>Tell the remote server the mail domain which you are in using the EHLO
command (or HELO if EHLO fails).  Since this method is invoked
automatically when the Net::SMTP object is constructed the user should
normally not have to call it manually.</p>
</dd>
</li>
<dt><strong><a name="item_host">host ()</a></strong>

<dd>
<p>Returns the value used by the constructor, and passed to IO::Socket::INET,
to connect to the host.</p>
</dd>
</li>
<dt><strong><a name="item_etrn">etrn ( DOMAIN )</a></strong>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?