Class: Net::PowerMTA

Inherits:
SMTP
  • Object
show all
Defined in:
lib/pmta_extension.rb

Instance Method Summary collapse

Constructor Details

#initialize(address, port = nil) ⇒ PowerMTA

Returns a new instance of PowerMTA.



5
6
7
8
# File 'lib/pmta_extension.rb', line 5

def initialize(address, port = nil)
  super(address, port)
  @xack = true
end

Instance Method Details

#disable_xackObject



36
37
38
39
# File 'lib/pmta_extension.rb', line 36

def disable_xack
  getok('XACK OFF')
  @xack = false
end

#enable_xackObject

Enable/Disable XACK to ignore ACKs from SMTP Server on multiple RCPT TO calls



31
32
33
34
# File 'lib/pmta_extension.rb', line 31

def enable_xack
  getok('XACK ON')
  @xack = true
end

#send_merge_message(msgstr, from_addr, verp = true, to_addrs_with_variables = []) ⇒ Object

only a merging 1 part

Raises:

  • (IOError)


11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/pmta_extension.rb', line 11

def send_merge_message( msgstr, from_addr, verp = true,  to_addrs_with_variables = [])      
  raise IOError, 'closed session' unless @socket

  xmrg_from from_addr, verp

  to_addrs_with_variables.each do |addr|
    xmrg_to addr[:address], addr[:variables]
  end

  # With mail merge, we don't send DATA command, we send XPRT command
  res = critical {
    check_continue get_response('XPRT 1 LAST')
    @socket.write_message msgstr
    recv_response()
  }
  check_response res
  res
end