Second pass at adding key files
This commit is contained in:
536
site/glist/templates/help/GT/Mail/BulkMail.html
Normal file
536
site/glist/templates/help/GT/Mail/BulkMail.html
Normal file
@ -0,0 +1,536 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>GT::Mail::BulkMail - A simplified interface to sending bulk emails</title>
|
||||
<link rev="made" href="mailto:root@penguin.office.gossamer-threads.com" />
|
||||
|
||||
<style type="text/css">
|
||||
/* $MVD$:fontset("Untitled Font Set 1","ARIEL","HELVETICA","HELV","SANSERIF") */
|
||||
/* $MVD$:fontset("Arial","Arial") */
|
||||
/* $MVD$:fontset("Arial Black","Arial Black") */
|
||||
/* $MVD$:fontset("Algerian","Algerian") */
|
||||
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
font-size: small;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
background-color : white;
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
background-color : white;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
h2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : medium;
|
||||
font-weight : bold;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h3 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : maroon;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h5 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h6 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
ol {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
li {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
th {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
td {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dd {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dt {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-H1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : 14.0pt;
|
||||
background-color : transparent;
|
||||
background-image : none;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 12.0pt;
|
||||
color : blue;
|
||||
}
|
||||
|
||||
|
||||
p.indent {
|
||||
font-family : "Verdana, Arial, sans-serif";
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indent {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
pre.programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE-programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE {
|
||||
font-size : 9.0pt;
|
||||
}
|
||||
|
||||
|
||||
p.note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : normal;
|
||||
font-size : 9.0pt;
|
||||
color : black;
|
||||
margin-left : 6.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 10.0pt;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-BODY {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
p.indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body style="background-color: white">
|
||||
|
||||
<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="#requirements">REQUIREMENTS</a></li>
|
||||
<ul>
|
||||
|
||||
<li><a href="#methods">METHODS</a></li>
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
<!-- INDEX END -->
|
||||
|
||||
<hr />
|
||||
<p>
|
||||
</p>
|
||||
<h1><a name="name">NAME</a></h1>
|
||||
<p>GT::Mail::BulkMail - A (perhaps overly) simplified interface to sending bulk emails</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="synopsis">SYNOPSIS</a></h1>
|
||||
<pre>
|
||||
$mailer = new GT::Mail::BulkMail;
|
||||
$mailer->option("setting");
|
||||
$mailer->otheroption("othersetting");
|
||||
...
|
||||
|
||||
-- or --</pre>
|
||||
<pre>
|
||||
$mailer = new GT::Mail::BulkMail(
|
||||
-option => "setting",
|
||||
-otheroption => "othersetting",
|
||||
...
|
||||
);</pre>
|
||||
<pre>
|
||||
-- then --</pre>
|
||||
<pre>
|
||||
sub subroutine {
|
||||
# Code to generate the next e-mail address
|
||||
}
|
||||
open FILE, "email_list.txt";
|
||||
%hash = ( 1 => 'some@fictional.address',
|
||||
2 => 'who@knows.where'
|
||||
);
|
||||
@array = ('yet@another.fictional.address','and@one.more');
|
||||
$mailer->send(\&subroutine,\*FILE,\%hash,\@array);
|
||||
close FILE;</pre>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="description">DESCRIPTION</a></h1>
|
||||
<p>GT::Mail::BulkMail is a module to handle mass mailings. It is capable of
|
||||
using either sendmail, or an SMTP server. It has the advantage of
|
||||
not requiring multiple connections to the SMTP server.</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="requirements">REQUIREMENTS</a></h1>
|
||||
<p>Perl 5.004</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="methods">METHODS</a></h2>
|
||||
<p>All methods can be specified at object creation time as an option with the:
|
||||
-option => value syntax. For example, <code>$mailer = new GT::Mail::BulkMail(-from => "foo@bar.com")</code>
|
||||
would have the same effect as: <code>$mailer = new GT::Mail::BulkMail(); $mailer->from("foo@bar.com")</code></p>
|
||||
<dl>
|
||||
<dt><strong><a name="item_smtp">smtp</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the SMTP server to use, and sets the object mail sending method to use SMTP. Takes
|
||||
SMTP server as argument.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_sendmail">sendmail</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the sendmail executable to use. Takes the path to sendmail as the argument.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_text">text</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Specifies that the mail format is text. This translates into Content-type: text/plain.
|
||||
This is the default format.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_html">html</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Specifies that the mail format is HTML. (Content-type: text/html)
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_headers">headers</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Returns any custom headers set as a hash reference in scalar context, or a hash in list context.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_add_header">add_header</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Adds a single header. This can be any header starting with ``X-'' (Note that X-Mailer headers
|
||||
will be prepended with the GT::Mail::BulkMail X-Mailer header (which includes the perl version,
|
||||
OS name, GT::Mail::BulkMail module and CVS versions, and the Gossamer Threads homepage)). Pass
|
||||
two arguments: A key (header name) and a value (header value). For example, for
|
||||
<code>X-Foo: blah blah blah</code> you would use: $mailer->add_header(``X-Foo'' => ``blah blah blah'')
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_add_headers">add_headers</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Same as above, except it adds multiple headers. Has the same argument format. You would use:
|
||||
$mailer->add_headers(``X-Foo1'' => ``blah'', ``X-Foo2'' => ``blah blah'');
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_delete_header">delete_header</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Deletes a single header. Pass the name of the header to delete.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_delete_headers">delete_headers</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Delete multiple headers. Pass a list of names of headers to delete.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_from">from</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the ``from'' field of the e-mail. Must be set before $mailer-><a href="#item_send"><code>send()</code></a> can be called.
|
||||
Must be set to an e-mail address. If this e-mail address is rejected by the SMTP server,
|
||||
no e-mails will be sent.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_name">name</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the ``name'' field of the e-mail. This affects what is displayed in the ``From'' field.
|
||||
When sending the email, the actual field will be set to: <code>"This name" <some@name.net></code>.
|
||||
Optional.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_subject">subject</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the subject of the message. If not specified, it will default to ``(no subject)''
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_message">message</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
The body of the message. Can be left blank, but that seems rather pointless...
|
||||
The message will be encoded using the quoted-printable format if it contains characters
|
||||
outside the 7-bit range.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_success">success</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
A code reference to be run for each and every successful e-mail sending.
|
||||
Each call to this code reference will be given the e-mail address as the only argument
|
||||
(unless using a message ID, which is discussed below). Optional.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_failure">failure</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
A code reference that will be run for any email addresses that cannot be sent. Each
|
||||
call to this code reference will be given the ID or e-mail address as the argument
|
||||
(message IDs are discussed below). Optional.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_frompresend">frompresend</a></strong><br />
|
||||
</dt>
|
||||
<dt><strong><a name="item_namepresend">namepresend</a></strong><br />
|
||||
</dt>
|
||||
<dt><strong><a name="item_subjectpresend">subjectpresend</a></strong><br />
|
||||
</dt>
|
||||
<dt><strong><a name="item_messagepresend">messagepresend</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
A code reference that will be run before sending an e-mail. The 'from', 'name', 'subject',
|
||||
or 'message' field will be sent to the code references (depending on which method called)
|
||||
and whatever is returned will be used as the actual field for the email sent. This can be
|
||||
used to parse fields to customize them for each recipient. The subroutine is called with
|
||||
two arguments: (ID_OR_EMAIL, FIELD). If an ID is provided, it will be passed as the
|
||||
first argument, otherwise the email address will be passed. The second argument is the
|
||||
field itself. The field used in the actual email to the user will be the value returned by
|
||||
the subroutine.
|
||||
</dd>
|
||||
<dd>
|
||||
<p>The default field (for the rest of the mailing) can be changed by directly modifying $_[1]
|
||||
itself.</p>
|
||||
</dd>
|
||||
<dd>
|
||||
<p>If the subroutine reference returns an undefined value, the mailer will use the actual field
|
||||
instead. You can use this technique to only modify some messages, but not others.</p>
|
||||
</dd>
|
||||
<dd>
|
||||
<p>Optional.</p>
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_show_errors">show_errors</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
If set to something true it will <code>warn()</code> on all errors. Optional. The default is turned on,
|
||||
but can easily be changed by modifying the line '
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_error_code">error_code</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Takes a code reference - the code reference will be called with the error as the argument
|
||||
when an error occurs. Optional.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_send">send</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Takes any number of the following arguments:
|
||||
</dd>
|
||||
<dl>
|
||||
<dt><strong><a name="item_array_reference">array reference</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
An array reference of a list of e-mail addresses to send to. After each message, either the
|
||||
success or failure callback will be called with the e-mail address as the argument, and
|
||||
possibly a message as the second argument.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_hash_reference">hash reference</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
A hash reference of ID => email pairs. For example,
|
||||
123 => <a href="mailto:'someone@whoknows.com'.">'someone@whoknows.com'.</a> The value will be used as the e-mail address to send
|
||||
to, and the key will be an identifier to pass into the success or failure callbacks.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_glob_reference">glob reference</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
A glob reference to an open file. Make sure the file is opened before passing this!
|
||||
The file should contain one e-mail address per line.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_subroutine_or_code_reference">subroutine or code reference</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
You may pass a code reference, and it will be called for each e-mail address. It is
|
||||
assumed that the subroutine will return one e-mail address each time called, and
|
||||
that a return value of ``undef'' indicates that there are no more e-mail addresses.
|
||||
The code reference could alternatively return two items - if it does, it is assumed that
|
||||
the first is an ID code, and that the second is the email address. When a call to either
|
||||
or the success or failure callbacks, the ID will be provided as the first argument
|
||||
instead of the e-mail address itself.
|
||||
</dd>
|
||||
<dd>
|
||||
<p>One cool feature to note about using code refs is that you can call <code>next()</code> from within
|
||||
the code reference and it will then recall the code reference for the next value.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dl>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
454
site/glist/templates/help/GT/Mail/Editor.html
Normal file
454
site/glist/templates/help/GT/Mail/Editor.html
Normal file
@ -0,0 +1,454 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>GT::Mail::Editor - E-mail template editor</title>
|
||||
<link rev="made" href="mailto:root@penguin.office.gossamer-threads.com" />
|
||||
|
||||
<style type="text/css">
|
||||
/* $MVD$:fontset("Untitled Font Set 1","ARIEL","HELVETICA","HELV","SANSERIF") */
|
||||
/* $MVD$:fontset("Arial","Arial") */
|
||||
/* $MVD$:fontset("Arial Black","Arial Black") */
|
||||
/* $MVD$:fontset("Algerian","Algerian") */
|
||||
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
font-size: small;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
background-color : white;
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
background-color : white;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
h2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : medium;
|
||||
font-weight : bold;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h3 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : maroon;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h5 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h6 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
ol {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
li {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
th {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
td {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dd {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dt {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-H1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : 14.0pt;
|
||||
background-color : transparent;
|
||||
background-image : none;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 12.0pt;
|
||||
color : blue;
|
||||
}
|
||||
|
||||
|
||||
p.indent {
|
||||
font-family : "Verdana, Arial, sans-serif";
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indent {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
pre.programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE-programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE {
|
||||
font-size : 9.0pt;
|
||||
}
|
||||
|
||||
|
||||
p.note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : normal;
|
||||
font-size : 9.0pt;
|
||||
color : black;
|
||||
margin-left : 6.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 10.0pt;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-BODY {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
p.indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body style="background-color: white">
|
||||
|
||||
<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>
|
||||
<ul>
|
||||
|
||||
<li><a href="#tpl_load__loads_a_template__from_the_templates_">tpl_load - Loads a template (from the templates)</a></li>
|
||||
<li><a href="#tpl_save__save_a_template">tpl_save - Save a template</a></li>
|
||||
<li><a href="#load">load</a></li>
|
||||
<li><a href="#new">new</a></li>
|
||||
</ul>
|
||||
|
||||
<li><a href="#copyright">COPYRIGHT</a></li>
|
||||
<li><a href="#version">VERSION</a></li>
|
||||
</ul>
|
||||
<!-- INDEX END -->
|
||||
|
||||
<hr />
|
||||
<p>
|
||||
</p>
|
||||
<h1><a name="name">NAME</a></h1>
|
||||
<p>GT::Mail::Editor - E-mail template editor</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="synopsis">SYNOPSIS</a></h1>
|
||||
<p>Generally used from templates:</p>
|
||||
<pre>
|
||||
<%GT::Mail::Editor::tpl_load(
|
||||
dir => $template_root,
|
||||
template => $template_set,
|
||||
file => $filename,
|
||||
header => From,
|
||||
header => To,
|
||||
header => Subject
|
||||
)%></pre>
|
||||
<pre>
|
||||
<%if error%>
|
||||
Unable to load e-mail template: <%error%>
|
||||
<%else%>
|
||||
From: <input type=text name=header_From value="<%header_From%>">
|
||||
To: <input type=text name=header_To value="<%header_To%>">
|
||||
Subject: <input type=text name=header_Subject value="<%header_Subject%>">
|
||||
Other headers:<br>
|
||||
<textarea name=extra_headers>
|
||||
<%loop extra_headers%><%name%>: <%value%>
|
||||
<%endloop%>
|
||||
<%endif%></pre>
|
||||
<pre>
|
||||
- or -</pre>
|
||||
<pre>
|
||||
<%GT::Mail::Editor::save(
|
||||
dir => $template_root,
|
||||
template => $template_set,
|
||||
file => $filename,
|
||||
header => To => $header_To,
|
||||
header => From => $header_From,
|
||||
header => Subject => $header_Subject,
|
||||
extra_headers => $extra_headers
|
||||
)%>
|
||||
<%if error%>Unable to save e-mail template: <%error%>
|
||||
... Display the above form in here ...
|
||||
<%endif%></pre>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="description">DESCRIPTION</a></h1>
|
||||
<p>GT::Mail::Editor is designed to provide a template interface to creating and
|
||||
editing a wide variety of e-mail templates. Although not currently supported,
|
||||
eventually attachments, HTML, etc. will be supported.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="tpl_load__loads_a_template__from_the_templates_">tpl_load - Loads a template (from the templates)</a></h2>
|
||||
<p>Calling GT::Mail::Editor::tpl_load from a template returns variables required to
|
||||
display a form to edit the template passed in.</p>
|
||||
<dl>
|
||||
<dt><strong><a name="item_dir">dir</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Defines the base directory of templates.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_template">template</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
This defines a template set. This is optional. If present, this directory will
|
||||
be tacked onto the end of 'dir'. This is simply to provide a more flexible way
|
||||
to specify the template directory. For example, if you have 'dir' set to '/a/b'
|
||||
and template set to 'c', then the directory '/a/b/c' will be used to save and
|
||||
load e-mail templates.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_file">file</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Specify the filename of the template inside the directory already specified with
|
||||
'dir' and 'template'
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_header">header</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Multiple ``special'' headers can be requested with this. The argument following
|
||||
each 'header' should be the name of a header, such as ``To''. Then, in the
|
||||
variables returned from tpl_load(), you will have a variable such as 'header_To'
|
||||
available, containing the value of the To: field.
|
||||
</dd>
|
||||
<p></p></dl>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="tpl_save__save_a_template">tpl_save - Save a template</a></h2>
|
||||
<dl>
|
||||
<dt><strong><a name="item_dir_template_file">dir template file</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
See the entries in <a href="#tpl_load">tpl_load</a>
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong>header</strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Specifies that the two following arguments are the field and value of a header
|
||||
field. For example, header => To => <a href="mailto:``abc@example.com''">``abc@example.com''</a> would specify that the To
|
||||
field should be <a href="mailto:``abc@example.com''">``abc@example.com''</a> (To: <a href="mailto:abc@example.com).">abc@example.com).</a>
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_extra_headers">extra_headers</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
The value to extra_headers should be a newline-delimited list of headers other
|
||||
than those specified with header. These will be parsed, and blank lines skipped.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_body">body</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
The body of the message. Need I say more? MIME messages are possible by
|
||||
inserting them directly into the body, however currently MIME messages cannot
|
||||
be created using this editor.
|
||||
</dd>
|
||||
<p></p></dl>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="load">load</a></h2>
|
||||
<p>Attempts to load a GT::Mail::Editor object with data passed in. This can take
|
||||
either a file handle or a filename. If passing a filename, dir and template
|
||||
will be used (if available). You should construct an object with <code>new()</code> prior
|
||||
to calling this method.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="new">new</a></h2>
|
||||
<p>Constructs a new GT::Mail::Editor object. This will be done automatically when
|
||||
using the template methods <a href="#tpl_load">tpl_load</a> and <a href="#tpl_save">tpl_save</a>. Takes the following
|
||||
arguments:</p>
|
||||
<dl>
|
||||
<dt><strong>dir</strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Defines the base directory of templates.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong>template</strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
This defines a template set. This is optional. If present, this directory will
|
||||
be tacked onto the end of 'dir'. This is simply to provide a more flexible way
|
||||
to specify the template directory. For example, if you have 'dir' set to '/a/b'
|
||||
and template set to 'c', then the directory '/a/b/c' will be used to save and
|
||||
load e-mail templates.
|
||||
</dd>
|
||||
<p></p></dl>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="copyright">COPYRIGHT</a></h1>
|
||||
<p>Copyright (c) 2004 Gossamer Threads Inc. All Rights Reserved.
|
||||
<a href="http://www.gossamer-threads.com/">http://www.gossamer-threads.com/</a></p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="version">VERSION</a></h1>
|
||||
<p>Revision: $Id: Editor.pm,v 1.24 2005/01/18 23:06:40 bao Exp $</p>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
272
site/glist/templates/help/GT/Mail/Editor/HTML.html
Normal file
272
site/glist/templates/help/GT/Mail/Editor/HTML.html
Normal file
@ -0,0 +1,272 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>/tmp/glist/private/lib/GT/Mail/Editor/HTML.pm</title>
|
||||
<link rev="made" href="mailto:root@penguin.office.gossamer-threads.com" />
|
||||
|
||||
<style type="text/css">
|
||||
/* $MVD$:fontset("Untitled Font Set 1","ARIEL","HELVETICA","HELV","SANSERIF") */
|
||||
/* $MVD$:fontset("Arial","Arial") */
|
||||
/* $MVD$:fontset("Arial Black","Arial Black") */
|
||||
/* $MVD$:fontset("Algerian","Algerian") */
|
||||
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
font-size: small;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
background-color : white;
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
background-color : white;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
h2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : medium;
|
||||
font-weight : bold;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h3 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : maroon;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h5 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h6 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
ol {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
li {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
th {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
td {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dd {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dt {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-H1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : 14.0pt;
|
||||
background-color : transparent;
|
||||
background-image : none;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 12.0pt;
|
||||
color : blue;
|
||||
}
|
||||
|
||||
|
||||
p.indent {
|
||||
font-family : "Verdana, Arial, sans-serif";
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indent {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
pre.programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE-programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE {
|
||||
font-size : 9.0pt;
|
||||
}
|
||||
|
||||
|
||||
p.note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : normal;
|
||||
font-size : 9.0pt;
|
||||
color : black;
|
||||
margin-left : 6.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 10.0pt;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-BODY {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
p.indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body style="background-color: white">
|
||||
|
||||
<p><a name="__index__"></a></p>
|
||||
<!-- INDEX BEGIN -->
|
||||
<!-- INDEX END -->
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
272
site/glist/templates/help/GT/Mail/Editor/Text.html
Normal file
272
site/glist/templates/help/GT/Mail/Editor/Text.html
Normal file
@ -0,0 +1,272 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>/tmp/glist/private/lib/GT/Mail/Editor/Text.pm</title>
|
||||
<link rev="made" href="mailto:root@penguin.office.gossamer-threads.com" />
|
||||
|
||||
<style type="text/css">
|
||||
/* $MVD$:fontset("Untitled Font Set 1","ARIEL","HELVETICA","HELV","SANSERIF") */
|
||||
/* $MVD$:fontset("Arial","Arial") */
|
||||
/* $MVD$:fontset("Arial Black","Arial Black") */
|
||||
/* $MVD$:fontset("Algerian","Algerian") */
|
||||
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
font-size: small;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
background-color : white;
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
background-color : white;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
h2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : medium;
|
||||
font-weight : bold;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h3 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : maroon;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h5 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h6 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
ol {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
li {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
th {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
td {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dd {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dt {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-H1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : 14.0pt;
|
||||
background-color : transparent;
|
||||
background-image : none;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 12.0pt;
|
||||
color : blue;
|
||||
}
|
||||
|
||||
|
||||
p.indent {
|
||||
font-family : "Verdana, Arial, sans-serif";
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indent {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
pre.programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE-programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE {
|
||||
font-size : 9.0pt;
|
||||
}
|
||||
|
||||
|
||||
p.note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : normal;
|
||||
font-size : 9.0pt;
|
||||
color : black;
|
||||
margin-left : 6.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 10.0pt;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-BODY {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
p.indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body style="background-color: white">
|
||||
|
||||
<p><a name="__index__"></a></p>
|
||||
<!-- INDEX BEGIN -->
|
||||
<!-- INDEX END -->
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
364
site/glist/templates/help/GT/Mail/Encoder.html
Normal file
364
site/glist/templates/help/GT/Mail/Encoder.html
Normal file
@ -0,0 +1,364 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>GT::Mail::Encoder - MIME Encoder</title>
|
||||
<link rev="made" href="mailto:root@penguin.office.gossamer-threads.com" />
|
||||
|
||||
<style type="text/css">
|
||||
/* $MVD$:fontset("Untitled Font Set 1","ARIEL","HELVETICA","HELV","SANSERIF") */
|
||||
/* $MVD$:fontset("Arial","Arial") */
|
||||
/* $MVD$:fontset("Arial Black","Arial Black") */
|
||||
/* $MVD$:fontset("Algerian","Algerian") */
|
||||
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
font-size: small;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
background-color : white;
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
background-color : white;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
h2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : medium;
|
||||
font-weight : bold;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h3 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : maroon;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h5 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h6 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
ol {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
li {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
th {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
td {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dd {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dt {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-H1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : 14.0pt;
|
||||
background-color : transparent;
|
||||
background-image : none;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 12.0pt;
|
||||
color : blue;
|
||||
}
|
||||
|
||||
|
||||
p.indent {
|
||||
font-family : "Verdana, Arial, sans-serif";
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indent {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
pre.programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE-programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE {
|
||||
font-size : 9.0pt;
|
||||
}
|
||||
|
||||
|
||||
p.note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : normal;
|
||||
font-size : 9.0pt;
|
||||
color : black;
|
||||
margin-left : 6.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 10.0pt;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-BODY {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
p.indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body style="background-color: white">
|
||||
|
||||
<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>
|
||||
<ul>
|
||||
|
||||
<li><a href="#encoding_a_stream">Encoding a stream</a></li>
|
||||
</ul>
|
||||
|
||||
<li><a href="#copyright">COPYRIGHT</a></li>
|
||||
<li><a href="#version">VERSION</a></li>
|
||||
</ul>
|
||||
<!-- INDEX END -->
|
||||
|
||||
<hr />
|
||||
<p>
|
||||
</p>
|
||||
<h1><a name="name">NAME</a></h1>
|
||||
<p>GT::Mail::Encoder - MIME Encoder</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="synopsis">SYNOPSIS</a></h1>
|
||||
<pre>
|
||||
open IN, 'decoded.txt' or die $!;
|
||||
open OUT, '>encoded.txt' or die $!;
|
||||
if (GT::Mail::Encoder->supported ('7bit')) {
|
||||
GT::Mail::Encoder->decode (
|
||||
debug => 1,
|
||||
encoding => '7bit',
|
||||
in => \*IN,
|
||||
out => sub { print OUT $_[0] }
|
||||
) or die $GT::Mail::Encoder::error;
|
||||
}
|
||||
else {
|
||||
die "Unsupported encoding";
|
||||
}
|
||||
close IN;
|
||||
close OUT;</pre>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="description">DESCRIPTION</a></h1>
|
||||
<p>GT::Mail::Encoder is a MIME Encoder implemented in perl. It will try to use
|
||||
the C extension for encoding Base64. If the extension is not there
|
||||
it will do it in perl (slow!).</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="encoding_a_stream">Encoding a stream</a></h2>
|
||||
<p>The <code>new()</code> constructor and the <code>supported()</code> class method are the only methods that
|
||||
are public in the interface. The <code>new()</code> constructor takes a hash of params.
|
||||
The <code>supported()</code> method takes a single string, the name of the encoding you want
|
||||
to encode and returns true if the encoding is supported and false otherwise.</p>
|
||||
<dl>
|
||||
<dt><strong><a name="item_debug">debug</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Set debugging level. 1 or 0.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_encoding">encoding</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the encoding used to encode.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_in">in</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Set to a file handle or IO handle.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_out">out</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Set to a code reference, the decoded stream will be passed in at the first
|
||||
argument for each chunk encoded.
|
||||
</dd>
|
||||
<p></p></dl>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="copyright">COPYRIGHT</a></h1>
|
||||
<p>Copyright (c) 2004 Gossamer Threads Inc. All Rights Reserved.
|
||||
<a href="http://www.gossamer-threads.com/">http://www.gossamer-threads.com/</a></p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="version">VERSION</a></h1>
|
||||
<p>Revision: $Id: Encoder.pm,v 1.40 2004/01/13 01:35:17 jagerman Exp $
|
||||
|
||||
</p>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
399
site/glist/templates/help/GT/Mail/Message.html
Normal file
399
site/glist/templates/help/GT/Mail/Message.html
Normal file
@ -0,0 +1,399 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>GT::Mail::Message - Encapsolates an email message.</title>
|
||||
<link rev="made" href="mailto:root@penguin.office.gossamer-threads.com" />
|
||||
|
||||
<style type="text/css">
|
||||
/* $MVD$:fontset("Untitled Font Set 1","ARIEL","HELVETICA","HELV","SANSERIF") */
|
||||
/* $MVD$:fontset("Arial","Arial") */
|
||||
/* $MVD$:fontset("Arial Black","Arial Black") */
|
||||
/* $MVD$:fontset("Algerian","Algerian") */
|
||||
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
font-size: small;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
background-color : white;
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
background-color : white;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
h2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : medium;
|
||||
font-weight : bold;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h3 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : maroon;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h5 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h6 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
ol {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
li {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
th {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
td {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dd {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dt {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-H1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : 14.0pt;
|
||||
background-color : transparent;
|
||||
background-image : none;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 12.0pt;
|
||||
color : blue;
|
||||
}
|
||||
|
||||
|
||||
p.indent {
|
||||
font-family : "Verdana, Arial, sans-serif";
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indent {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
pre.programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE-programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE {
|
||||
font-size : 9.0pt;
|
||||
}
|
||||
|
||||
|
||||
p.note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : normal;
|
||||
font-size : 9.0pt;
|
||||
color : black;
|
||||
margin-left : 6.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 10.0pt;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-BODY {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
p.indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body style="background-color: white">
|
||||
|
||||
<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>
|
||||
<ul>
|
||||
|
||||
<li><a href="#creating_a_new_gt__mail__message_object">Creating a new GT::Mail::Message object</a></li>
|
||||
<li><a href="#creating_a_new_part">Creating a new Part</a></li>
|
||||
<li><a href="#manipulating_parts">Manipulating Parts</a></li>
|
||||
<li><a href="#accessing_parts">Accessing Parts</a></li>
|
||||
</ul>
|
||||
|
||||
<li><a href="#copyright">COPYRIGHT</a></li>
|
||||
<li><a href="#version">VERSION</a></li>
|
||||
</ul>
|
||||
<!-- INDEX END -->
|
||||
|
||||
<hr />
|
||||
<p>
|
||||
</p>
|
||||
<h1><a name="name">NAME</a></h1>
|
||||
<p>GT::Mail::Message - Encapsolates an email message.</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="synopsis">SYNOPSIS</a></h1>
|
||||
<pre>
|
||||
use GT::Mail::Message;
|
||||
|
||||
# Get a GT::Mail::Message object from the parser
|
||||
use GT::Mail::Parse;</pre>
|
||||
<pre>
|
||||
my $parser = new GT::Mail::Parse( in_file => "myemail.eml" );
|
||||
my $message = $parser->parse;</pre>
|
||||
<pre>
|
||||
# Get the top level part
|
||||
my $root_part = $message->root_part;</pre>
|
||||
<pre>
|
||||
# Replace the first part with a new part
|
||||
$message->replace_part( $root_part, $message->new_part(
|
||||
to => 'scott@gossamer-threads.com',
|
||||
from => 'alex@gossamer-threads.com',
|
||||
'content-type' => 'text/plain',
|
||||
body_data => 'Hi Scott, how are you?!'
|
||||
);</pre>
|
||||
<pre>
|
||||
# Add a part at the end
|
||||
my $end_part = $message->new_part(
|
||||
'content-type' => 'image/gif',
|
||||
body_path => 'myimage.jpg'
|
||||
);
|
||||
$message->add_part_end( $root_part, $end_part );</pre>
|
||||
<pre>
|
||||
# Move the first part in the top part to after the end part
|
||||
$message->move_part_after( $root_part->parts->[0], $end_part );</pre>
|
||||
<pre>
|
||||
# Print the mime message
|
||||
print $message->to_string;</pre>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="description">DESCRIPTION</a></h1>
|
||||
<p>GT::Mail::Message encapsolates a mime message which consists of
|
||||
<a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail/Parts.html">the GT::Mail::Parts manpage</a> object. This module provides methods to change,
|
||||
move, remove, and access these parts.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="creating_a_new_gt__mail__message_object">Creating a new GT::Mail::Message object</a></h2>
|
||||
<p>Usually you will get a GT::Mail::Message object by call the parse method
|
||||
in <a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail/Parse.html">the GT::Mail::Parse manpage</a>.</p>
|
||||
<pre>
|
||||
my $message = $parser->parse;</pre>
|
||||
<p>You may also call new on this class specifying the top level part and or
|
||||
a debug level.</p>
|
||||
<pre>
|
||||
my $message = new GT::Mail::Message(
|
||||
root_part => $part,
|
||||
debug => 1
|
||||
);</pre>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="creating_a_new_part">Creating a new Part</a></h2>
|
||||
<p>You can create a part by calling new on <a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail/Parts.html">the GT::Mail::Parts manpage</a> directly</p>
|
||||
<pre>
|
||||
my $part = new GT::Mail::Parts;
|
||||
$part->set( 'content-type' => 'image/gif' );
|
||||
$part->body_path( 'myimage.gif' );</pre>
|
||||
<p>or you can call a method in this module to get a new part</p>
|
||||
<pre>
|
||||
my $part = $message->new_part(
|
||||
'content-type' => 'image/gif',
|
||||
body_path => 'myimage.gif'
|
||||
);</pre>
|
||||
<p>This method is a wraper on a combination of <code>new()</code> and some other
|
||||
supporting methods in <a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail/Parts.html">the GT::Mail::Parts manpage</a> such as body_path(). Anything
|
||||
that is not <strong>body_path</strong>, <strong>body_data</strong>, or <strong>body_handle</strong> is treated
|
||||
as header values.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="manipulating_parts">Manipulating Parts</a></h2>
|
||||
<p>A MIME message is just a format for storing a tree structure. We provide
|
||||
tree-like methods to manipulate parts. All the method for manipulating
|
||||
parts take the part <code>object(s)</code> as arguments. We do this so you do not need
|
||||
to know how the tree is tracked internally.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="accessing_parts">Accessing Parts</a></h2>
|
||||
<p>More to come!</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="copyright">COPYRIGHT</a></h1>
|
||||
<p>Copyright (c) 2004 Gossamer Threads Inc. All Rights Reserved.
|
||||
<a href="http://www.gossamer-threads.com/">http://www.gossamer-threads.com/</a>
|
||||
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="version">VERSION</a></h1>
|
||||
<p>Revision: $Id: Message.pm,v 1.14 2004/01/13 01:35:17 jagerman Exp $
|
||||
|
||||
</p>
|
||||
<pre>
|
||||
|
||||
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
594
site/glist/templates/help/GT/Mail/POP3.html
Normal file
594
site/glist/templates/help/GT/Mail/POP3.html
Normal file
@ -0,0 +1,594 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>GT::Mail::POP3 - Receieve email through POP3 protocal</title>
|
||||
<link rev="made" href="mailto:root@penguin.office.gossamer-threads.com" />
|
||||
|
||||
<style type="text/css">
|
||||
/* $MVD$:fontset("Untitled Font Set 1","ARIEL","HELVETICA","HELV","SANSERIF") */
|
||||
/* $MVD$:fontset("Arial","Arial") */
|
||||
/* $MVD$:fontset("Arial Black","Arial Black") */
|
||||
/* $MVD$:fontset("Algerian","Algerian") */
|
||||
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
font-size: small;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
background-color : white;
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
background-color : white;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
h2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : medium;
|
||||
font-weight : bold;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h3 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : maroon;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h5 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h6 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
ol {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
li {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
th {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
td {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dd {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dt {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-H1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : 14.0pt;
|
||||
background-color : transparent;
|
||||
background-image : none;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 12.0pt;
|
||||
color : blue;
|
||||
}
|
||||
|
||||
|
||||
p.indent {
|
||||
font-family : "Verdana, Arial, sans-serif";
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indent {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
pre.programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE-programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE {
|
||||
font-size : 9.0pt;
|
||||
}
|
||||
|
||||
|
||||
p.note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : normal;
|
||||
font-size : 9.0pt;
|
||||
color : black;
|
||||
margin-left : 6.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 10.0pt;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-BODY {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
p.indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body style="background-color: white">
|
||||
|
||||
<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>
|
||||
<ul>
|
||||
|
||||
<li><a href="#new__constructor_method">new - constructor method</a></li>
|
||||
<li><a href="#connect__connect_to_the_pop_account">connect - Connect to the POP account</a></li>
|
||||
<li><a href="#head_part__access_the_email_header">head_part - Access the email header</a></li>
|
||||
<li><a href="#all_head_parts__access_all_email_headers">all_head_parts - Access all email headers</a></li>
|
||||
<li><a href="#parse_message__access_an_email">parse_message - Access an email</a></li>
|
||||
<li><a href="#message_save__save_an_email">message_save - Save an email</a></li>
|
||||
<li><a href="#stat__do_a_stat_command">stat - Do a STAT command</a></li>
|
||||
<li><a href="#list__do_a_list_command">list - Do a LIST command</a></li>
|
||||
<li><a href="#rset__do_an_rset_command">rset - Do an RSET command</a></li>
|
||||
<li><a href="#dele__do_a_dele_command">dele - Do a DELE command</a></li>
|
||||
<li><a href="#quit__quit_the_connection">quit - Quit the connection</a></li>
|
||||
<li><a href="#uidl__do_a_uidl_command">uidl - Do a UIDL command</a></li>
|
||||
<li><a href="#count__get_the_number_of_messages">count - Get the number of messages</a></li>
|
||||
<li><a href="#size__get_the_size_of_all_messages">size - Get the size of all messages</a></li>
|
||||
<li><a href="#send__send_a_raw_command">send - Send a raw command</a></li>
|
||||
<li><a href="#top__retrieve_the_header">top - Retrieve the header</a></li>
|
||||
<li><a href="#retr__retrieve_an_email">retr - Retrieve an email</a></li>
|
||||
</ul>
|
||||
|
||||
<li><a href="#requirements">REQUIREMENTS</a></li>
|
||||
<li><a href="#copyright">COPYRIGHT</a></li>
|
||||
<li><a href="#version">VERSION</a></li>
|
||||
</ul>
|
||||
<!-- INDEX END -->
|
||||
|
||||
<hr />
|
||||
<p>
|
||||
</p>
|
||||
<h1><a name="name">NAME</a></h1>
|
||||
<p>GT::Mail::POP3 - Receieve email through POP3 protocal</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="synopsis">SYNOPSIS</a></h1>
|
||||
<pre>
|
||||
use GT::Mail::POP3;</pre>
|
||||
<pre>
|
||||
my $pop = GT::Mail::POP3->new(
|
||||
host => 'mail.gossamer-threads.com',
|
||||
port => 110,
|
||||
user => 'someusername',
|
||||
pass => 'somepassword',
|
||||
auth_mode => 'PASS',
|
||||
timeout => 30,
|
||||
debug => 1
|
||||
);</pre>
|
||||
<pre>
|
||||
my $count = $pop->connect or die $GT::Mail::POP3::error;</pre>
|
||||
<pre>
|
||||
for my $num (1 .. $count) {
|
||||
my $top = $pop->parse_head($num);</pre>
|
||||
<pre>
|
||||
my @to = $top->split_field;</pre>
|
||||
<pre>
|
||||
if (grep /myfriend\@gossamer-threads\.com/, @to) {
|
||||
$pop->message_save($num, '/keep/email.txt');
|
||||
last;
|
||||
}
|
||||
}</pre>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="description">DESCRIPTION</a></h1>
|
||||
<p>GT::Mail::POP3 is a module to check an email account using the POP3 protocol.
|
||||
Many of the methods are integrated with <a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail/Parse.html">the GT::Mail::Parse manpage</a>.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="new__constructor_method">new - constructor method</a></h2>
|
||||
<p>This method is inherited from <a href="glist.cgi?do=admin_gtdoc&topic=/GT/Base.html">the GT::Base manpage</a>. The argument to this method can be
|
||||
in the form of a hash or hash ref. As a minimum 'user', 'pass', and 'host' must
|
||||
be specified.</p>
|
||||
<dl>
|
||||
<dt><strong><a name="item_debug">debug</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the debugging level for this instance of GT::Mail::POP3.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_host">host</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the host to connect to for checking a POP account. This argument must be
|
||||
provided.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_port">port</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the port on the POP server to attempt to connect to. This defaults to 110,
|
||||
unless using SSL, for which the default is 995.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_ssl">ssl</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Establishes the connection using SSL. Note that this requires Net::SSLeay of
|
||||
at least version 1.06.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_user">user</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the user name to login with when connecting to the POP server. This must
|
||||
be specified.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_pass">pass</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the password to login with when connection to the POP server. This must be
|
||||
specified.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_auth_mode">auth_mode</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the authentication type for this connection. This can be one of two
|
||||
values. PASS (the default) or APOP. If set to APOP, GT::Mail::POP3 will use
|
||||
APOP to login to the remote server.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_timeout">timeout</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the connection timeout. This isn't entirely reliable as it uses alarm(),
|
||||
which isn't supported on all systems. That aside, this normally isn't needed
|
||||
if you want a timeout - it defaults to 30 on alarm()-supporting systems. The
|
||||
main purpose is to provide a value of 0 to disable the <code>alarm()</code> timeout.
|
||||
</dd>
|
||||
<p></p></dl>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="connect__connect_to_the_pop_account">connect - Connect to the POP account</a></h2>
|
||||
<pre>
|
||||
$obj->connect or die $GT::Mail::POP3::error;</pre>
|
||||
<p>This method performs the connection to the POP server. Returns the count of
|
||||
messages on the server on success, and undefined on failure. Takes no arguments
|
||||
and called before you can perform any actions on the POP server.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="head_part__access_the_email_header">head_part - Access the email header</a></h2>
|
||||
<pre>
|
||||
# Get a parsed header part object for the first email in the list.
|
||||
my $top_part = $obj->head_part(1);</pre>
|
||||
<p>Instance method. The only argument to this method is the message number to get.
|
||||
Returns a <a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail/Parts.html">the GT::Mail::Parts manpage</a> object containing only the parsed header of the
|
||||
specified message.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="all_head_parts__access_all_email_headers">all_head_parts - Access all email headers</a></h2>
|
||||
<pre>
|
||||
# Get all the head parts from all messages
|
||||
my @headers = $obj->all_head_parts;</pre>
|
||||
<p>Instance method. Gets all the headers of all the email's on the remote server.
|
||||
Returns an array of the <a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail/Parts.html">the GT::Mail::Parts manpage</a> object. One object for each
|
||||
email. None of the email's bodies are retrieved, only the head.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="parse_message__access_an_email">parse_message - Access an email</a></h2>
|
||||
<pre>
|
||||
# Parse an email and get the GT::Mail object
|
||||
my $mail = $obj->parse_message (1);</pre>
|
||||
<p>Instance method. Pass in the number of the email to retrieve. This method
|
||||
retrieves the specified email and returns the parsed GT::Mail object. If this
|
||||
method fails you should check $GT::Mail::error for the error message.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="message_save__save_an_email">message_save - Save an email</a></h2>
|
||||
<pre>
|
||||
open FH, '/path/to/email.txt' or die $!;</pre>
|
||||
<pre>
|
||||
# Save message 2 to file
|
||||
$obj->message_save (2, \*FH);
|
||||
close FH;</pre>
|
||||
<p>- or -</p>
|
||||
<pre>
|
||||
$obj->message_save (2, '/path/to/email.txt') or die $GT::Mail::POP3::error;</pre>
|
||||
<p>Instance method. This method takes the message number as it's first argument,
|
||||
and either a file path or a file handle ref as it's second argument. If a file
|
||||
path is provided the file will be opened to truncate. The email is then
|
||||
retrieved from the server and written to the file.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="stat__do_a_stat_command">stat - Do a STAT command</a></h2>
|
||||
<pre>
|
||||
# Get the number of messages on the server
|
||||
my $count = $obj->stat;</pre>
|
||||
<p>Instance method. Does a STAT command on the remote server. It stores the total
|
||||
size and returns the count of messages on the server, if successful. Otherwise
|
||||
returns undef.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="list__do_a_list_command">list - Do a LIST command</a></h2>
|
||||
<pre>
|
||||
# At a list of messages on the server
|
||||
my @messages = $obj->list;</pre>
|
||||
<p>Instance method. Does a LIST command on the remote server. Returns an array of
|
||||
the lines in list context and a single scalar that contains all the lines in
|
||||
scalar context.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="rset__do_an_rset_command">rset - Do an RSET command</a></h2>
|
||||
<pre>
|
||||
# Tell the server to ignore any dele commands we have issued in this
|
||||
# session
|
||||
$obj->rset;</pre>
|
||||
<p>Instance method. Does an RSET command. This command resets the servers
|
||||
knowledge of what should be deleted when QUIT is called. Returns 1 on success.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="dele__do_a_dele_command">dele - Do a DELE command</a></h2>
|
||||
<pre>
|
||||
# Delete message 4
|
||||
$obj->dele (4);</pre>
|
||||
<p>Instance method. Does a DELE command. The only argument is the message number
|
||||
to delete. Returns 1 on success.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="quit__quit_the_connection">quit - Quit the connection</a></h2>
|
||||
<pre>
|
||||
# Close our connection
|
||||
$obj->quit;</pre>
|
||||
<p>Instance method. Sends the QUIT command to the server. The should should
|
||||
disconnect soon after this. No more actions can be taken on this connection
|
||||
until connect is called again.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="uidl__do_a_uidl_command">uidl - Do a UIDL command</a></h2>
|
||||
<pre>
|
||||
# Get the uidl for message 1
|
||||
my $uidl = $obj->uidl (1);</pre>
|
||||
<pre>
|
||||
# Get a list of all the uidl's and print them
|
||||
$obj->uidl (sub { print @_ });</pre>
|
||||
<pre>
|
||||
# Get an array of all the uidl's
|
||||
my @uidl = $obj->uidl;</pre>
|
||||
<p>Instance method. Attempts to do a UIDL command on the remote server. Please be
|
||||
aware support for the UIDL command is not very wide spread. This method can
|
||||
take the message number as it's first argument. If the message number is given,
|
||||
the UIDL for that message is returned. If the first argument is a code
|
||||
reference, a UIDL command is done with no message specified and the code
|
||||
reference is called for each line returned from the remote server. If no second
|
||||
argument is given, a UIDL command is done, and the results are returned in a
|
||||
has of message number to UIDL.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="count__get_the_number_of_messages">count - Get the number of messages</a></h2>
|
||||
<pre>
|
||||
# Get the count from the last STAT
|
||||
my $count = $obj->count;</pre>
|
||||
<p>This method returns the number of messages on the server from the last STAT
|
||||
command. A STAT is done on connect.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="size__get_the_size_of_all_messages">size - Get the size of all messages</a></h2>
|
||||
<pre>
|
||||
# Get the total size of all messages on the server
|
||||
my $size = $obj->size;</pre>
|
||||
<p>This method returns the size of all messages in the server as returned by the
|
||||
last STAT command sent to the server.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="send__send_a_raw_command">send - Send a raw command</a></h2>
|
||||
<pre>
|
||||
# Send a raw command to the server
|
||||
my $ret = $obj->send ("HELO");</pre>
|
||||
<p>This method sends the specified raw command to the POP server. The one line
|
||||
return from the server is returned. Do not call this method if you are
|
||||
expecting more than a one line response.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="top__retrieve_the_header">top - Retrieve the header</a></h2>
|
||||
<pre>
|
||||
# Get the header of message 2 in an array. New lines are stripped
|
||||
my @header = $obj->top (2);</pre>
|
||||
<pre>
|
||||
# Get the header as a string
|
||||
my $header = $obj->top (2);</pre>
|
||||
<p>Instance method to retrieve the top of an email on the POP server. The only
|
||||
argument should be the message number to retrieve. Returns a scalar containing
|
||||
the header in scalar context and an array, which is the scalar split on
|
||||
\015?\012, in list context.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="retr__retrieve_an_email">retr - Retrieve an email</a></h2>
|
||||
<pre>
|
||||
# Get message 3 from the remote server in an array. New lines are stripped
|
||||
my @email = $obj->retr (3);</pre>
|
||||
<pre>
|
||||
# Get it as a string
|
||||
my $email = $obj->retr (3);</pre>
|
||||
<p>Instance method to retrieve an email from the POP server. The first argument to
|
||||
this method should be the message number to retrieve. The second argument is an
|
||||
optional code ref to call for each line of the message that is retrieved. If no
|
||||
code ref is specified, this method will put the email in a scalar and return
|
||||
the scalar in scalar context and return the scalar split on \015?\012 in list
|
||||
context.</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="requirements">REQUIREMENTS</a></h1>
|
||||
<p><a href="glist.cgi?do=admin_gtdoc&topic=/GT/Socket/Client.html">the GT::Socket::Client manpage</a>
|
||||
<a href="glist.cgi?do=admin_gtdoc&topic=/GT/Base.html">the GT::Base manpage</a>
|
||||
<a href="glist.cgi?do=admin_gtdoc&topic=/GT/MD5.html">the GT::MD5 manpage</a> (for APOP authentication)</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="copyright">COPYRIGHT</a></h1>
|
||||
<p>Copyright (c) 2004 Gossamer Threads Inc. All Rights Reserved.
|
||||
<a href="http://www.gossamer-threads.com/">http://www.gossamer-threads.com/</a></p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="version">VERSION</a></h1>
|
||||
<p>Revision: $Id: POP3.pm,v 1.56 2004/03/19 00:36:16 brewt Exp $</p>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
420
site/glist/templates/help/GT/Mail/Parse.html
Normal file
420
site/glist/templates/help/GT/Mail/Parse.html
Normal file
@ -0,0 +1,420 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>GT::Mail::Parse - MIME Parse</title>
|
||||
<link rev="made" href="mailto:root@penguin.office.gossamer-threads.com" />
|
||||
|
||||
<style type="text/css">
|
||||
/* $MVD$:fontset("Untitled Font Set 1","ARIEL","HELVETICA","HELV","SANSERIF") */
|
||||
/* $MVD$:fontset("Arial","Arial") */
|
||||
/* $MVD$:fontset("Arial Black","Arial Black") */
|
||||
/* $MVD$:fontset("Algerian","Algerian") */
|
||||
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
font-size: small;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
background-color : white;
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
background-color : white;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
h2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : medium;
|
||||
font-weight : bold;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h3 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : maroon;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h5 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h6 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
ol {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
li {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
th {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
td {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dd {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dt {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-H1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : 14.0pt;
|
||||
background-color : transparent;
|
||||
background-image : none;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 12.0pt;
|
||||
color : blue;
|
||||
}
|
||||
|
||||
|
||||
p.indent {
|
||||
font-family : "Verdana, Arial, sans-serif";
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indent {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
pre.programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE-programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE {
|
||||
font-size : 9.0pt;
|
||||
}
|
||||
|
||||
|
||||
p.note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : normal;
|
||||
font-size : 9.0pt;
|
||||
color : black;
|
||||
margin-left : 6.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 10.0pt;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-BODY {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
p.indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body style="background-color: white">
|
||||
|
||||
<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>
|
||||
<ul>
|
||||
|
||||
<li><a href="#new__constructor_method">new - Constructor method</a></li>
|
||||
<li><a href="#parse__parse_an_email">parse - Parse an email</a></li>
|
||||
<li><a href="#parse_head__parse_just_the_header_of_the_email">parse_head - Parse just the header of the email</a></li>
|
||||
<li><a href="#size__get_the_size">size - Get the size</a></li>
|
||||
<li><a href="#all_parts__get_all_parts">all_parts - Get all parts</a></li>
|
||||
</ul>
|
||||
|
||||
<li><a href="#copyright">COPYRIGHT</a></li>
|
||||
<li><a href="#version">VERSION</a></li>
|
||||
</ul>
|
||||
<!-- INDEX END -->
|
||||
|
||||
<hr />
|
||||
<p>
|
||||
</p>
|
||||
<h1><a name="name">NAME</a></h1>
|
||||
<p>GT::Mail::Parse - MIME Parse</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="synopsis">SYNOPSIS</a></h1>
|
||||
<pre>
|
||||
use GT::Mail::Parse
|
||||
|
||||
my $parser = new GT::Mail::Parse (
|
||||
naming => \&name_files,
|
||||
in_file => '/path/to/file.eml',
|
||||
debug => 1
|
||||
);</pre>
|
||||
<pre>
|
||||
my $top = $parser->parse or die $GT::Mail::Parse::error;</pre>
|
||||
<pre>
|
||||
- or -</pre>
|
||||
<pre>
|
||||
my $parser = new GT::Mail::Parse;
|
||||
|
||||
open FH, '/path/to/file.eml' or die $!;
|
||||
my $top = $parser->parse (
|
||||
naming => \&name_files,
|
||||
handle => \*FH,
|
||||
debug => 1
|
||||
) or die $GT::Mail::Parse::error;
|
||||
close FH;</pre>
|
||||
<pre>
|
||||
- or -</pre>
|
||||
<pre>
|
||||
my $parser = new GT::Mail::Parse;</pre>
|
||||
<pre>
|
||||
my $top_head = $parser->parse_head (
|
||||
naming => \&name_files,
|
||||
in_file => '/path/to/file.eml',
|
||||
debug => 1
|
||||
) or die $GT::Mail::Parse::error;</pre>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="description">DESCRIPTION</a></h1>
|
||||
<p>GT::Mail::Parse is a 100% rfc822 email MIME parser that supports unlimited
|
||||
nested levels of MIME. Emails are parsed into <a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail/Parts.html">the GT::Mail::Parts manpage</a> objects. Each
|
||||
part knows where it's body is and each part contains it's sub parts. See
|
||||
<a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail/Parts.html">the GT::Mail::Parts manpage</a> for details on parts methods.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="new__constructor_method">new - Constructor method</a></h2>
|
||||
<p>This is the constructor method to get a GT::Mail::Parse object, which you
|
||||
need to access all the methods (there are no Class methods). <code>new()</code> takes
|
||||
a hash or hash ref as it's arguments. Each key has an accessor method by the
|
||||
same name except debug, which can only be set by passing debug to new(), <code>parse()</code>
|
||||
or parse_head().</p>
|
||||
<dl>
|
||||
<dt><strong><a name="item_debug">debug</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the debug level for this insance of the class.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_naming">naming</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Specify a code reference to use as a naming convention for each part of the
|
||||
email being parsed. This is useful to keep file IO down when you want the emails
|
||||
seperated into each part as a file. If this is not specified GT::Mail::Parse
|
||||
uses a default naming, which is to start at one and incriment that number for each
|
||||
attachment. The attachments would go in the current working directory.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_in_file">in_file</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Specify the path to the file that contains the email to be parsed. One of in_file
|
||||
and handle must be specified.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_handle">handle</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Specify the file handle or IO stream that contains the email to be parsed.
|
||||
</dd>
|
||||
<p></p></dl>
|
||||
<dl>
|
||||
<dt><strong><a name="item_attach_rfc822">attach_rfc822</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
By default, the parser will decode any embeded emails, and flatten out all the
|
||||
parts. If you prefer to leave embeded emails unparsed, pass in 1 to this option
|
||||
and the parser will treat it as an attachment.
|
||||
</dd>
|
||||
<p></p></dl>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="parse__parse_an_email">parse - Parse an email</a></h2>
|
||||
<p>Instance method. Parses the email specified by either in_file or handle. Returns
|
||||
the top level <a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail/Parts.html">the GT::Mail::Parts manpage</a> object. Any additional parameters passed in are
|
||||
treated the same as if they were passed to the constuctor.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="parse_head__parse_just_the_header_of_the_email">parse_head - Parse just the header of the email</a></h2>
|
||||
<p>Instance method. This method is exactly the same as parse except only the top
|
||||
level header is parsed and it's part object returned. This is useful to keep
|
||||
overhead down if you only need to know about the header of the email.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="size__get_the_size">size - Get the size</a></h2>
|
||||
<p>Instance method. Returns the total size in bytes of the parsed unencoded email. This
|
||||
method will return undef if no email has been parsed.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="all_parts__get_all_parts">all_parts - Get all parts</a></h2>
|
||||
<p>Instance method. Returns all the parts in the parsed email. This is a flatened
|
||||
list of the objects. Somewhat similar to what MIME::Tools does. All the parts
|
||||
still contain their sub parts.</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="copyright">COPYRIGHT</a></h1>
|
||||
<p>Copyright (c) 2004 Gossamer Threads Inc. All Rights Reserved.
|
||||
<a href="http://www.gossamer-threads.com/">http://www.gossamer-threads.com/</a></p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="version">VERSION</a></h1>
|
||||
<p>Revision: $Id: Parse.pm,v 1.79 2004/10/23 02:16:39 brewt Exp $</p>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
570
site/glist/templates/help/GT/Mail/Parts.html
Normal file
570
site/glist/templates/help/GT/Mail/Parts.html
Normal file
@ -0,0 +1,570 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>GT::Mail::Parts - Data storage class for MIME parts</title>
|
||||
<link rev="made" href="mailto:root@penguin.office.gossamer-threads.com" />
|
||||
|
||||
<style type="text/css">
|
||||
/* $MVD$:fontset("Untitled Font Set 1","ARIEL","HELVETICA","HELV","SANSERIF") */
|
||||
/* $MVD$:fontset("Arial","Arial") */
|
||||
/* $MVD$:fontset("Arial Black","Arial Black") */
|
||||
/* $MVD$:fontset("Algerian","Algerian") */
|
||||
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
font-size: small;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
background-color : white;
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
background-color : white;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
h2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : medium;
|
||||
font-weight : bold;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h3 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : maroon;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h5 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h6 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
ol {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
li {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
th {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
td {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dd {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dt {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-H1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : 14.0pt;
|
||||
background-color : transparent;
|
||||
background-image : none;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 12.0pt;
|
||||
color : blue;
|
||||
}
|
||||
|
||||
|
||||
p.indent {
|
||||
font-family : "Verdana, Arial, sans-serif";
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indent {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
pre.programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE-programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE {
|
||||
font-size : 9.0pt;
|
||||
}
|
||||
|
||||
|
||||
p.note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : normal;
|
||||
font-size : 9.0pt;
|
||||
color : black;
|
||||
margin-left : 6.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 10.0pt;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-BODY {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
p.indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body style="background-color: white">
|
||||
|
||||
<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>
|
||||
<ul>
|
||||
|
||||
<li><a href="#effective_type__access_the_effective_mime_type">effective_type - Access the effective MIME type</a></li>
|
||||
<li><a href="#get__access_header_tags_">get - Access header tags.</a></li>
|
||||
<li><a href="#set__set_a_header_tag_">set - Set a header tag.</a></li>
|
||||
<li><a href="#delete__remove_a_header_tag_">delete - Remove a header tag.</a></li>
|
||||
<li><a href="#size__access_the_total_size_">size - Access the total size.</a></li>
|
||||
<li><a href="#preamble__set_or_get_the_preamble_">preamble - Set or get the preamble.</a></li>
|
||||
<li><a href="#epilogue__set_or_get_the_epilogue_">epilogue - Set or get the epilogue.</a></li>
|
||||
<li><a href="#mime_type__set_or_get_the_mime_type_">mime_type - Set or get the MIME type.</a></li>
|
||||
<li><a href="#is_multipart__see_if_you_have_a_multipart_part_">is_multipart - See if you have a multi-part part.</a></li>
|
||||
<li><a href="#parts__access_sub_parts_">parts - Access sub parts.</a></li>
|
||||
<li><a href="#multipart_boundary__set_or_get_the_multipart_boundary_">multipart_boundary - Set or get the multi-part boundary.</a></li>
|
||||
<li><a href="#header_as_string__access_the_whole_header_">header_as_string - Access the whole header.</a></li>
|
||||
<li><a href="#split_field__retrieve_the_emails_split_up_into_an_array_">split_field - Retrieve the emails split up into an array.</a></li>
|
||||
<li><a href="#suggest_encoding__get_a_suggestion_for_encoding_">suggest_encoding - Get a suggestion for encoding.</a></li>
|
||||
<li><a href="#recommended_filename__figure_out_the_file_name_">recommended_filename - Figure out the file name.</a></li>
|
||||
<li><a href="#body_as_string__get_the_body_as_a_string_">body_as_string - Get the body as a string.</a></li>
|
||||
<li><a href="#body_in__find_the_body_">body_in - Find the body.</a></li>
|
||||
<li><a href="#body_data__get_the_in_memory_body_">body_data - Get the in memory body.</a></li>
|
||||
<li><a href="#body_handle__get_an_io_handle_to_the_body_">body_handle - Get an IO handle to the body.</a></li>
|
||||
<li><a href="#body_path__get_the_location_of_the_file_the_body_is_in_">body_path - Get the location of the file the body is in.</a></li>
|
||||
</ul>
|
||||
|
||||
<li><a href="#copyright">COPYRIGHT</a></li>
|
||||
<li><a href="#version">VERSION</a></li>
|
||||
</ul>
|
||||
<!-- INDEX END -->
|
||||
|
||||
<hr />
|
||||
<p>
|
||||
</p>
|
||||
<h1><a name="name">NAME</a></h1>
|
||||
<p>GT::Mail::Parts - Data storage class for MIME parts</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="synopsis">SYNOPSIS</a></h1>
|
||||
<pre>
|
||||
use GT::Mail;</pre>
|
||||
<pre>
|
||||
my $mail = new GT::Mail;</pre>
|
||||
<pre>
|
||||
my $top_part = $mail->parse('/path/to/email');</pre>
|
||||
<pre>
|
||||
# Access the emails as an array
|
||||
my @to = $top_part->split_field('to');
|
||||
my @from = $top_part->split_field('from');</pre>
|
||||
<pre>
|
||||
# Access to the header fields
|
||||
my $mailer = $top_part->get('X-Mailer');
|
||||
my $subject = $top_part->get('Subject');</pre>
|
||||
<pre>
|
||||
# Access to this parts sub part
|
||||
if ($top_part->is_multipart) {
|
||||
my @parts = $top_parts->parts;
|
||||
for my $part (@parts) {</pre>
|
||||
<pre>
|
||||
# Access parts of the header
|
||||
print "Filename: ", $part->recommended_filename, "\n";
|
||||
print "Part is multi-part\n" if $part->is_multipart;</pre>
|
||||
<pre>
|
||||
# Get the body as a string
|
||||
my $body = $part->body_as_string;
|
||||
}
|
||||
}</pre>
|
||||
<pre>
|
||||
# Change who it is to
|
||||
$top_part->set('to', 'scott@gossamer-threads.com');</pre>
|
||||
<pre>
|
||||
# Remove the bcc line
|
||||
$top_part->delete('bcc');</pre>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="description">DESCRIPTION</a></h1>
|
||||
<p>GT::Mail::Parts is a class to provide methods to change and
|
||||
access a MIME messages. The object for this class is meant to
|
||||
be istansiated from <a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail.html">the GT::Mail manpage</a>.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="effective_type__access_the_effective_mime_type">effective_type - Access the effective MIME type</a></h2>
|
||||
<pre>
|
||||
my $type = $obj->effective_type;</pre>
|
||||
<pre>
|
||||
if ($type eq 'application/octet-stream') {
|
||||
...
|
||||
}</pre>
|
||||
<p>This method returns the effective MIME Type of this objects part.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="get__access_header_tags_">get - Access header tags.</a></h2>
|
||||
<pre>
|
||||
my $subj = $obj->get('Subject');</pre>
|
||||
<pre>
|
||||
# or if there is more than one
|
||||
my @recv = $obj->get('Received');</pre>
|
||||
<p>Used to access any of the tags in the header of the MIME part. If the
|
||||
tag requested is not present returns false. The first argument to this
|
||||
method is the name of he tag you want to extract. This is case insensitive.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="set__set_a_header_tag_">set - Set a header tag.</a></h2>
|
||||
<pre>
|
||||
# Change who the email is to
|
||||
$obj->set('to', 'scott@gossamer-threads.com');</pre>
|
||||
<pre>
|
||||
# Change the second Received tag
|
||||
$obj->set('Received', 'from unknown', 1);</pre>
|
||||
<p>Set any of the tags in the header. If the tag does not exist this will create
|
||||
it. This method takes three arguments. The first is the name of the tag to
|
||||
change or add, this is case insensitive. The second argument is the value for
|
||||
the tag. The third zero based optional argument is the position. The position
|
||||
will default to zero if it is not specified.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="delete__remove_a_header_tag_">delete - Remove a header tag.</a></h2>
|
||||
<pre>
|
||||
# Delete who the message is from
|
||||
$obj->delete('from');</pre>
|
||||
<p>This method deletes the tag specified by the first argument from this MIME
|
||||
part.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="size__access_the_total_size_">size - Access the total size.</a></h2>
|
||||
<pre>
|
||||
my $size = $obj->size;</pre>
|
||||
<p>This method returns the total size of this part. This includes the header and
|
||||
the body.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="preamble__set_or_get_the_preamble_">preamble - Set or get the preamble.</a></h2>
|
||||
<pre>
|
||||
# Retrieve the preamble
|
||||
my $pre = $obj->preamble;</pre>
|
||||
<pre>
|
||||
# Set the preamble
|
||||
$obj->preamble('This is a multi-part message in MIME format.');</pre>
|
||||
<p>This is a set get method for the preamble. The preamble is the part after the
|
||||
head but before the first MIME boundary. This method makes no since if this
|
||||
is not a multi-part part.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="epilogue__set_or_get_the_epilogue_">epilogue - Set or get the epilogue.</a></h2>
|
||||
<pre>
|
||||
# Retrieve the epilogue
|
||||
my $ep = $obj->epilogue;</pre>
|
||||
<pre>
|
||||
# Set the epilogue
|
||||
$obj->epilogue('This is my cool epilogue');</pre>
|
||||
<p>This is a set get method for the epilogue. The epilogue is the part of the
|
||||
MIME part after the MIME boundary and before the next head. This method makes
|
||||
no since if this is not a multi-part part.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="mime_type__set_or_get_the_mime_type_">mime_type - Set or get the MIME type.</a></h2>
|
||||
<pre>
|
||||
my ($type, $subtype) = split('/', $obj->mime_type);</pre>
|
||||
<p>This method returns the MIME type of this part. You can pass in an argument
|
||||
to change the MIME type as well. So you could do</p>
|
||||
<pre>
|
||||
$obj->mime_type('text/plain');</pre>
|
||||
<p>This is probably not such a good idea unless you are constructing the email from
|
||||
scratch.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="is_multipart__see_if_you_have_a_multipart_part_">is_multipart - See if you have a multi-part part.</a></h2>
|
||||
<pre>
|
||||
if ($obj->is_multipart) {
|
||||
# do some multi-part stuff
|
||||
}</pre>
|
||||
<p>Returns true is this part is a multi-part MIME part.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="parts__access_sub_parts_">parts - Access sub parts.</a></h2>
|
||||
<pre>
|
||||
my @parts = $obj->parts;</pre>
|
||||
<p>Returns the parts object this part contains. Returns false if this part does
|
||||
no have any sub parts. The parts objects that returns are from this same class.
|
||||
Any parts that are milti-part should contain parts.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="multipart_boundary__set_or_get_the_multipart_boundary_">multipart_boundary - Set or get the multi-part boundary.</a></h2>
|
||||
<pre>
|
||||
my $boundary = $obj->multipart_boundary;</pre>
|
||||
<p>This returns the multi-part boundary for this part. Setting this is never needed
|
||||
and may be removed in the future. This method only makes since if you are working
|
||||
with a multi-part pert.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="header_as_string__access_the_whole_header_">header_as_string - Access the whole header.</a></h2>
|
||||
<pre>
|
||||
my $head = $obj->header_as_string;</pre>
|
||||
<p>This method creates and returns the header for this part. The returned header should
|
||||
be fully rfc822 compliant. Avoid calling this method more than once, as it will build
|
||||
the header from an internal data structure each time.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="split_field__retrieve_the_emails_split_up_into_an_array_">split_field - Retrieve the emails split up into an array.</a></h2>
|
||||
<pre>
|
||||
my @to = $obj->split_field; # Defaults to 'to'
|
||||
my @bcc = $obj->split_field('bcc');</pre>
|
||||
<p>This is mostly a utility method. It takes an option argument as to the field you want
|
||||
the email address from (default is to), it then splits the emails on '\s*,\s*' that is
|
||||
not inside quotes. Returns an array of the split up string.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="suggest_encoding__get_a_suggestion_for_encoding_">suggest_encoding - Get a suggestion for encoding.</a></h2>
|
||||
<pre>
|
||||
my $encode = $obj->suggest_encoding;</pre>
|
||||
<p>Returns a suggested encoding for the body of this message. This is useful to decide
|
||||
what encoding you should use for the body when building an email. This is used in
|
||||
<a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail/Parse.html">the GT::Mail::Parse manpage</a> to decide how to encode the message body.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="recommended_filename__figure_out_the_file_name_">recommended_filename - Figure out the file name.</a></h2>
|
||||
<pre>
|
||||
my $file = $obj->recommended_filename;
|
||||
if ($file) {
|
||||
...
|
||||
}</pre>
|
||||
<p>This method tries to figure out the file name of this part. This does not make much
|
||||
since if this part is not an attachment of some kind. Returns an empty string on
|
||||
failure.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="body_as_string__get_the_body_as_a_string_">body_as_string - Get the body as a string.</a></h2>
|
||||
<p>This method returns the entire body of the MIME message as a string. You should not
|
||||
use this method if the body could be large.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="body_in__find_the_body_">body_in - Find the body.</a></h2>
|
||||
<pre>
|
||||
my $in = $obj->body_in;
|
||||
my $body;</pre>
|
||||
<pre>
|
||||
if ($in eq 'MEMORY') {
|
||||
$body = $obj->body_data;
|
||||
}
|
||||
elsif ($in eq 'HANDLE') {
|
||||
$body = $obj->body_handle;
|
||||
}
|
||||
elsif ($in eq 'FILE') {
|
||||
$body = $obj->body_path;
|
||||
}</pre>
|
||||
<p>This method returns the location of the body. The location can be one of three things:</p>
|
||||
<dl>
|
||||
<dt><strong><a name="item_memory">MEMORY</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
The body is in a string.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_handle">HANDLE</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
The body is in an IO handle.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_file">FILE</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
The body is in a file.
|
||||
</dd>
|
||||
<p></p></dl>
|
||||
<p>You would use this to decide what method to use to access the body. If the MIME message
|
||||
was parsed into GT::Mail::Parts using <a href="glist.cgi?do=admin_gtdoc&topic=/GT/Mail/Parser.html">the GT::Mail::Parser manpage</a> the body will always be in
|
||||
a FILE.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="body_data__get_the_in_memory_body_">body_data - Get the in memory body.</a></h2>
|
||||
<p>This method returns the body if it is stored in memory. Returns undefined if the body is
|
||||
not in memory.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="body_handle__get_an_io_handle_to_the_body_">body_handle - Get an IO handle to the body.</a></h2>
|
||||
<p>This method returns a handle to the body if the body is stored in a handle for this part.
|
||||
Returns undefined if not.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="body_path__get_the_location_of_the_file_the_body_is_in_">body_path - Get the location of the file the body is in.</a></h2>
|
||||
<p>This method returns the file path to the file the body is located in if the body for this
|
||||
part is stored in a file. Returns undefined if not.</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="copyright">COPYRIGHT</a></h1>
|
||||
<p>Copyright (c) 2004 Gossamer Threads Inc. All Rights Reserved.
|
||||
<a href="http://www.gossamer-threads.com/">http://www.gossamer-threads.com/</a></p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="version">VERSION</a></h1>
|
||||
<p>$Revision: 1.77 $</p>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
383
site/glist/templates/help/GT/Mail/Send.html
Normal file
383
site/glist/templates/help/GT/Mail/Send.html
Normal file
@ -0,0 +1,383 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>GT::Mail::Send - Module to send emails</title>
|
||||
<link rev="made" href="mailto:root@penguin.office.gossamer-threads.com" />
|
||||
|
||||
<style type="text/css">
|
||||
/* $MVD$:fontset("Untitled Font Set 1","ARIEL","HELVETICA","HELV","SANSERIF") */
|
||||
/* $MVD$:fontset("Arial","Arial") */
|
||||
/* $MVD$:fontset("Arial Black","Arial Black") */
|
||||
/* $MVD$:fontset("Algerian","Algerian") */
|
||||
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
font-size: small;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
background-color : white;
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
background-color : white;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
h2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : medium;
|
||||
font-weight : bold;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h3 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : medium;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : maroon;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h5 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : blue;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
h6 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : small;
|
||||
color : black;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
ol {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
li {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
th {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
td {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dl {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dd {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
dt {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
font-family : Courier;
|
||||
font-size : small;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-H1 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : bold;
|
||||
font-size : 14.0pt;
|
||||
background-color : transparent;
|
||||
background-image : none;
|
||||
color : maroon;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H2 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 12.0pt;
|
||||
color : blue;
|
||||
}
|
||||
|
||||
|
||||
p.indent {
|
||||
font-family : "Verdana, Arial, sans-serif";
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indent {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : circle;
|
||||
list-style-position : inside;
|
||||
color : black;
|
||||
margin-left : 16.0pt;
|
||||
}
|
||||
|
||||
|
||||
pre.programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE-programlisting {
|
||||
font-size : 9.0pt;
|
||||
list-style-type : disc;
|
||||
margin-left : 16.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-PRE {
|
||||
font-size : 9.0pt;
|
||||
}
|
||||
|
||||
|
||||
p.note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-note {
|
||||
margin-left : 28.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-H4 {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-weight : normal;
|
||||
font-size : 9.0pt;
|
||||
color : black;
|
||||
margin-left : 6.0pt;
|
||||
margin-top : -14.0pt;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
font-size : 10.0pt;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.mvd-BODY {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
|
||||
p.indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
|
||||
|
||||
.mvd-P-indentnobullet {
|
||||
font-family : Verdana, Arial, sans-serif;
|
||||
list-style-type : none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body style="background-color: white">
|
||||
|
||||
<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>
|
||||
<ul>
|
||||
|
||||
<li><a href="#new__constructor_method">new - Constructor method</a></li>
|
||||
<li><a href="#smtp">smtp</a></li>
|
||||
<li><a href="#sendmail">sendmail</a></li>
|
||||
</ul>
|
||||
|
||||
<li><a href="#copyright">COPYRIGHT</a></li>
|
||||
<li><a href="#version">VERSION</a></li>
|
||||
</ul>
|
||||
<!-- INDEX END -->
|
||||
|
||||
<hr />
|
||||
<p>
|
||||
</p>
|
||||
<h1><a name="name">NAME</a></h1>
|
||||
<p>GT::Mail::Send - Module to send emails</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="synopsis">SYNOPSIS</a></h1>
|
||||
<pre>
|
||||
use GT::Mail::Send;
|
||||
|
||||
# $mail_object must be a GT::Mail object
|
||||
my $send = new GT::Mail::Send (
|
||||
mail => $mail_object,
|
||||
host => 'smtp.gossamer-threads.com',
|
||||
debug => 1
|
||||
);</pre>
|
||||
<pre>
|
||||
$send->smtp or die $GT::Mail::Send::error;</pre>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="description">DESCRIPTION</a></h1>
|
||||
<p>GT::Mail::Send is an object interface to sending email over either
|
||||
SMTP or Sendmail. This module is used internally to GT::Mail.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="new__constructor_method">new - Constructor method</a></h2>
|
||||
<p>Returns a new GT::Mail::Send object. You must specify either the smtp host
|
||||
or a path to sendmail. This method is inherented from GT::Base. The arguments
|
||||
can be in the form of a hash or hash ref.</p>
|
||||
<dl>
|
||||
<dt><strong><a name="item_debug">debug</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Sets the debug level for this instance of GT::Mail::Send.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_mail">mail</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Specify the mail object to use. This must be a GT::Mail object and must contain
|
||||
an email, either passed in or parsed in.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_host">host</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Specify the host to use when sending by SMTP.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_port">port</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Specify the port to use when sending over SMTP. Defaults to 25.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_path">path</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Specify the path to sendmail when sending over sendmail. If the binary passed in
|
||||
does not exist, undef will be returned and the error set in GT::Mail::Send::error.
|
||||
</dd>
|
||||
<p></p>
|
||||
<dt><strong><a name="item_flags">flags</a></strong><br />
|
||||
</dt>
|
||||
<dd>
|
||||
Specify the flags used to call sendmail. Defaults to -t -oi -oeq, see the Sendmail
|
||||
guilde for sendmail for more info on the parameters to sendmail.
|
||||
</dd>
|
||||
<p></p></dl>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="smtp">smtp</a></h2>
|
||||
<p>Class or instance method. Sends the passed in email over SMTP. If called as a class
|
||||
method, the parameters passed in will be used to call new(). Returns true on error,
|
||||
false otherwise.</p>
|
||||
<p>
|
||||
</p>
|
||||
<h2><a name="sendmail">sendmail</a></h2>
|
||||
<p>Class or instance method. Send the passed in email to sendmail using the specified
|
||||
path and flags. If called as a class method all additional arguments are passed to the
|
||||
<code>new()</code> method. Returns true on success and false otherwise.</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="copyright">COPYRIGHT</a></h1>
|
||||
<p>Copyright (c) 2004 Gossamer Threads Inc. All Rights Reserved.
|
||||
<a href="http://www.gossamer-threads.com/">http://www.gossamer-threads.com/</a></p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<h1><a name="version">VERSION</a></h1>
|
||||
<p>Revision: $Id: Send.pm,v 1.53 2004/08/23 20:07:44 jagerman Exp $</p>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
Reference in New Issue
Block a user