discourse-legacysite-perl/site/glist/templates/help/GT/Mail/Message.html
2024-06-17 22:24:05 +10:00

400 lines
8.7 KiB
HTML

<!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 =&gt; &quot;myemail.eml&quot; );
my $message = $parser-&gt;parse;</pre>
<pre>
# Get the top level part
my $root_part = $message-&gt;root_part;</pre>
<pre>
# Replace the first part with a new part
$message-&gt;replace_part( $root_part, $message-&gt;new_part(
to =&gt; 'scott@gossamer-threads.com',
from =&gt; 'alex@gossamer-threads.com',
'content-type' =&gt; 'text/plain',
body_data =&gt; 'Hi Scott, how are you?!'
);</pre>
<pre>
# Add a part at the end
my $end_part = $message-&gt;new_part(
'content-type' =&gt; 'image/gif',
body_path =&gt; 'myimage.jpg'
);
$message-&gt;add_part_end( $root_part, $end_part );</pre>
<pre>
# Move the first part in the top part to after the end part
$message-&gt;move_part_after( $root_part-&gt;parts-&gt;[0], $end_part );</pre>
<pre>
# Print the mime message
print $message-&gt;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-&gt;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 =&gt; $part,
debug =&gt; 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-&gt;set( 'content-type' =&gt; 'image/gif' );
$part-&gt;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-&gt;new_part(
'content-type' =&gt; 'image/gif',
body_path =&gt; '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>