Opens a TCP connection and starts the SMTP
session.
helo
is the HELO domain that you’ll dispatch mails from; see the discussion in the overview notes.
If both of user
and secret
are given, SMTP
authentication will be attempted using the AUTH command. authtype
specifies the type of authentication to attempt; it must be one of :login, :plain, and :cram_md5. See the notes on SMTP
Authentication in the overview.
When this methods is called with a block, the newly-started SMTP
object is yielded to the block, and automatically closed after the block call finishes. Otherwise, it is the caller’s responsibility to close the session when finished.
This is very similar to the class method SMTP.start
.
require 'net/smtp' smtp = Net::SMTP.new('smtp.mail.server', 25) smtp.start(helo_domain, account, password, authtype) do |smtp| smtp.send_message msgstr, 'from@example.com', ['dest@example.com'] end
The primary use of this method (as opposed to SMTP.start
) is probably to set debugging (set_debug_output
) or ESMTP (esmtp=
), which must be done before the session is started.
If session has already been started, an IOError
will be raised.
This method may raise:
This method sends a message. If msgstr
is given, sends it as a message. If block is given, yield a message writer stream. You must write message before the block is closed.
# Example 1 (by string) smtp.data(<<EndMessage) From: john@example.com To: betty@example.com Subject: I found a bug Check vm.c:58879. EndMessage # Example 2 (by block) smtp.data {|f| f.puts "From: john@example.com" f.puts "To: betty@example.com" f.puts "Subject: I found a bug" f.puts "" f.puts "Check vm.c:58879." }
Gets the IP address of name
from the hosts file.
Gets all IP addresses for name
from the hosts file.
Gets the IP address of name
from the DNS
resolver.
name
can be a Resolv::DNS::Name
or a String. Retrieved address will be a Resolv::IPv4
or Resolv::IPv6
Gets all IP addresses for name
from the DNS
resolver.
name
can be a Resolv::DNS::Name
or a String. Retrieved addresses will be a Resolv::IPv4
or Resolv::IPv6
Returns the UNNORMALIZED value of this attribute. That is, entities have been expanded to their values
This method returns a list of notations that have been declared in the internal DTD
subset. Notations in the external DTD
subset are not listed.
Method
contributed by Henrik Martensson
Retrieves a named notation. Only notations declared in the internal DTD
subset can be retrieved.
Method
contributed by Henrik Martensson
Get an array of all CData
children. IMMUTABLE
Private helper class. Removes quotes from quoted strings
Evaluates to the unnormalized value of this entity; that is, replacing all entities – both %ent; and &ent; entities. This differs from +value()+ in that value
only replaces %ent; entities.
Returns the value of this entity unprocessed – raw. This is the normalized value; that is, with all %ent; and &ent; entities intact
Returns the value of this entity. At the moment, only internal entities are processed. If the value contains internal references (IE, %blah;), those are replaced with their values. IE, if the doctype contains:
<!ENTITY % foo "bar"> <!ENTITY yada "nanoo %foo; nanoo>
then:
doctype.entity('yada').value #-> "nanoo bar nanoo"
Returns the string value of this text. This is the text without entities, as it might be used programmatically, or printed to the console. This ignores the ‘raw’ attribute setting, and any entity_filter.
# Assume that the entity "s" is defined to be "sean", and that the # entity "r" is defined to be "russell" t = Text.new( "< & sean russell", false, nil, false, ['s'] ) t.value #-> "< & sean russell" t = Text.new( "< & &s; russell", false, nil, false ) t.value #-> "< & sean russell" u = Text.new( "sean russell", false, nil, true ) u.value #-> "sean russell"
Sets the contents of this text node. This expects the text to be unnormalized. It returns self.
e = Element.new( "a" ) e.add_text( "foo" ) # <a>foo</a> e[0].value = "bar" # <a>bar</a> e[0].value = "<a>" # <a><a></a>
Escapes all possible entities
Unescapes all possible entities
Return the tuple itself
Takes tuple
from the proxied TupleSpace
. See TupleSpace#take
.