Google

class TMail::Mail

Class Methods

new( port: TMail::Port = TMail::StringPort.new, config: TMail::Config = DEFAULT_CONFIG ) -> TMail::Mail

creates a new TMail::Mail object from port.

load( filename: String ) -> TMail::Mail

creates a new TMail::Mail object. filename is the name of file which contains just one mail (e.g. MH mail file).

parse( str: String ) -> TMail::Mail

parses str and creates a new TMail::Mail object.

Instance Methods

port -> TMail::Port

the source port of this mail.

body_port -> TMail::Port

the port to save body of this mail.

each {|line| .... }

iterates for each lines of mail body.

body -> String
preamble -> String

the mail body. If the mail is a MIME multipart mail, this attribute represents "preamble".

parts -> Array of TMail::Mail

parts of this mail. (valid only if this mail is a MIME multipart mail)

epilogue -> String

If the mail was MIME multipart mail, this represent "epilogue" string. Else, empty string.

multipart?
encoded( eol = "\n", encoding = 'j' ) -> String

converts the mail object to a MIME encoded string.

decoded( eol = "\n", encoding = 'e' ) -> String
to_s( eol = "\n", encoding = 'e' ) -> String

converts the mail object to a decoded string.

inspect -> String

returns simple string representation like "#<TMail::Mail port=<StringPort:str=...>>"

write_back( eol = "\n", encoding = 'e' )

converts this mail into string and write back to body_port, setting line terminator to eol.

Property Access Method

date( default = nil ) -> Time
date=( datetime: Time )

a time object of Date: header field.

strftime( format: String, default = nil ) -> String

is equals to date.strftime(format). If date is not exist, this method does nothing and returns default.

to( default = nil ) -> Array of String
to=( addrs: String/Array of String )

address specs for To: header field.

to_addrs( default = nil ) -> Array of TMail::Address
to_addrs=( addrs: TMail::Address/Array of TMail::Address )

adresses which is represented in To: header field.

cc( default = nil ) -> Array of String
cc=( addrs: String/Array of String )

address specs for Cc: header field.

cc_addrs( default = nil ) -> Array of TMail::Address
cc_addrs=( addrs: TMail::Address/Array of TMail::Address )

adresses which is represented in Cc: header field.

bcc( default = nil ) -> Array of String
bcc=( addrs: String/Array of String )

address specs for Bcc: header field.

bcc_addrs( default = nil ) -> Array of TMail::Address
bcc_addrs=( addrs: TMail::Address/Array of TMail::Address )

adresses which is represented in Bcc: header field.

from( default = nil ) -> Array of String
from=( addrs: String/Array of String )

address specs for From: header field.

from_addrs( default = nil ) -> Array of TMail::Address
from_addrs=( addrs: TMail::Address/Array of TMail::Address )

adresses which is represented in From: header field.

friendly_from( default = nil ) -> String

a phrase part or address spec of first From: address.

reply_to( default = nil ) -> Array of String
reply_to=( addrs: String/Array of String )

address specs for Reply-To: header field.

reply_to_addrs( default = nil ) -> Array of TMail::Address
reply_to_addrs=( addrs: TMail::Address/Array of TMail::Address )

adresses which is represented in Reply-To: header field.

sender( default = nil ) -> String
sender=( addr: String )

address spec for Sender: header field.

sender_addr( default = nil ) -> TMail::Address
sender_addr=( addr: TMail::Address )

adress which is represented in Sender: header field.

subject( default = nil ) -> String
subject=( sbj: String )

the subject of the mail message.

message_id( default = nil ) -> String
message_id=( id: String )

message id string.

in_reply_to( default = nil ) -> Array of String
in_reply_to=( ids: String/Array of String )

message IDs of replying mails.

references( default = nil ) -> Array of String
references=( ids: String/Array of String )

message IDs of all referencing (replying) mails.

mime_version( default = nil ) -> String
mime_version=( ver: String )

MIME version. If it does not exist, returns the DEFAULT.

set_mime_version( major: Integer, minor: Integer )

set MIME version from integers.

content_type( default = nil ) -> String

the content type of the mail message (e.g. "text/plain"). If it does not exist, returns the default.

main_type( default = nil ) -> String

the main content type of the mail message. (e.g. "text") If it does not exist, returns the default.

sub_type( default = nil ) -> String

the sub content type of the mail message. (e.g. "plain") If it does not exist, returns the default.

content_type=( main_sub: String )

set content type to STR.

set_content_type( main: String, sub: String, params: Hash = nil )

set Content-type: header as "main/sub; param=val; param=val; ...".

type_param( name: String, default = nil ) -> String

returns the value corresponding to the case-insensitive name of Content-Type parameter. If it does not exist, returns the default.


# example
mail['Content-Type'] = 'text/plain; charset=iso-2022-jp'
p mail.type_param('charset')   # "iso-2022-jp"
multipart? -> bool

judge if this mail is MIME multi part mail, by inspecting Content-Type: header field.

transfer_encoding( default = nil ) -> String
transfer_encoding=( str: String )

Content-Transfer-Encoding. (e.g. "7bit" "Base64")

disposition( default = nil ) -> String
disposition=( disp: String )

Content-Disposition main value (e.g. "attach"). If it does not exist, returns the DEFAULT.


# example
mail['Content-Disposition'] = 'attachement; filename="test.rb"'
p mail.disposition   # "attachment"
set_content_disposition( pos: String, params: Hash = nil )

set content disposition. params is a Hash, like {"name"=>"value"}.

disposition_param( name: String, default = nil ) -> String

returns a value corresponding to the Content-Disposition parameter name (e.g. filename). If it does not exist, returns the default.


# example
mail.disposition_param('filename')
destinations( default = nil ) -> Array of String

all address specs which are contained in To:, Cc: and Bcc: header fields.

reply_addresses( default = nil ) -> Array of TMail::Address

addresses to we reply to.

error_reply_addresses( default = nil ) -> Array of TMail::Address

addresses to use when returning error message.

Direct Header Handling Methods

clear

clears all header.

keys -> Array of TMail::HeaderField

returns an array of contained header names.

[]( name ) -> TMail::HeaderField

returns a header field object corresponding to the case-insensitive key name. e.g. mail["To"]

[]=( name, field )

set name header field to field.

delete( key )

deletes header corresponding to case-insensitive key key.

delete_if {|key, val| .... }

evaluates block with a name of header and header field object, and delete the header if block returns true.

each_header {|name, field| .... }
each_pair {|name, field| .... }

iterates for each header name and its field object.

each_header_name {|name| .... }
each_key {|name| .... }

iterates for each contained header names.

each_field {|field| .... }
each_value {|field| .... }

iterates for each header field object.

orderd_each {|name, field| .... }
key?( name )

returns true if the mail has name header.

value?( field )

returns true if the mail has field header field object.

indexes( *keys ) -> Array of TMail::HeaderField
indices( *keys ) -> Array of TMail::HeaderField

equals to keys.collect {|k| mail[k] }.

values -> Array of TMail::HeaderField

returns an array of all header field object.