mailhandler 1.0.60 → 1.0.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8030c60b3dadc77214d7a1bfc8c5bc475a3665586b22d01b1a0973c8386de30f
4
- data.tar.gz: 5c782690c6dc90db551254b3e3e8ab007717b15961143b0d9a6251a0f34a2731
3
+ metadata.gz: de40ee0be87a056910ae5518108c764c7eb9ac8c3966bf493785fffc91e7cb5b
4
+ data.tar.gz: 021c325cb06ded1e127b2eda02ab4aacd01dc39be42b0f2a43b65354d505742f
5
5
  SHA512:
6
- metadata.gz: f61717a2295a6cfe5f6d961fa9dbffae6f0e6e77a2fe93f667a4838cd55cebb3dba6835182d6d9f41b1f7032afcb146e25db05f97503486e0dfe06f3184dc416
7
- data.tar.gz: 1fb736635cf0608cd3d438598ef1c5f0aa1d1c6f60a7b1bcde6b61a840b30512e72ccb3f7686ad0d685317e663ee7a5bd558a9e63c9db2419f67d48a4af1743d
6
+ metadata.gz: ceef3cf4ad8ae793e321999dfe4b4ee7e9e4eb3334baf7de3d98b89990228b64984a553566c66fe5f3eefe981422e776382ab54d4a95e7e7ba7594f33a2020e4
7
+ data.tar.gz: 0ceca108ee81c36e280d24b5580860ab156bfda4c807b7a25addfb9cb2939e45b3b5234c0d4f3ac0fe099699959e1b4e10c22f450b5f6eee63aac573bfadc351
@@ -3,8 +3,8 @@ module Mail
3
3
  class SMTP
4
4
  def deliver_raw!(raw_source_email, smtp_from, smtp_to)
5
5
  response = start_smtp_session do |smtp|
6
- Mail::SMTPConnection.new(:connection => smtp, :return_response => true).
7
- deliver_raw!(raw_source_email, smtp_from, smtp_to)
6
+ Mail::SMTPConnection.new(connection: smtp, return_response: true)
7
+ .deliver_raw!(raw_source_email, smtp_from, smtp_to)
8
8
  end
9
9
 
10
10
  settings[:return_response] ? response : self
@@ -19,4 +19,4 @@ module Mail
19
19
  settings[:return_response] ? response : self
20
20
  end
21
21
  end
22
- end
22
+ end
@@ -94,7 +94,7 @@ module MailHandler
94
94
  end
95
95
 
96
96
  def validate_used_options(options)
97
- error_message = "#{(options.keys - available_search_options)} - Incorrect search option values,"\
97
+ error_message = "#{options.keys - available_search_options} - Incorrect search option values,"\
98
98
  " options are #{available_search_options}."
99
99
  raise MailHandler::Error, error_message unless (options.keys - available_search_options).empty?
100
100
  end
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'mail'
4
- require_relative 'base.rb'
4
+ require_relative 'base'
5
5
  require_relative '../errors'
6
- require_relative 'filelist/base.rb'
7
- require_relative 'filelist/filter/base.rb'
8
- require_relative 'filelist/filter/email.rb'
6
+ require_relative 'filelist/base'
7
+ require_relative 'filelist/filter/base'
8
+ require_relative 'filelist/filter/email'
9
9
 
10
10
  module MailHandler
11
11
  module Receiving
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'mail'
4
- require_relative 'base.rb'
4
+ require_relative 'base'
5
5
  require_relative '../errors'
6
6
 
7
7
  module MailHandler
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'postmark'
4
- require_relative 'base.rb'
4
+ require_relative 'base'
5
5
 
6
6
  module MailHandler
7
7
  module Sending
@@ -14,7 +14,7 @@ module MailHandler
14
14
  :http_read_timeout
15
15
 
16
16
  def initialize(api_token = nil)
17
- @type = :postmark_api
17
+ super(:postmark_api)
18
18
  @host = DEFAULTS[:host]
19
19
  @api_token = api_token
20
20
  @use_ssl = true
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'api.rb'
3
+ require_relative 'api'
4
4
  require_relative '../errors'
5
5
 
6
6
  module MailHandler
@@ -9,6 +9,10 @@ module MailHandler
9
9
  class Sender
10
10
  attr_reader :type
11
11
 
12
+ def initialize(type)
13
+ @type = type
14
+ end
15
+
12
16
  def send(_email)
13
17
  raise MailHandler::InterfaceError, 'Send interface not implemented.'
14
18
  end
@@ -1,27 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'base'
4
- require_relative "../extensions/mail/smtp"
4
+ require_relative '../extensions/mail/smtp'
5
5
 
6
6
  module MailHandler
7
7
  module Sending
8
8
  # class which describes methods to send and receive emails
9
9
  class SMTPSender < Sender
10
- attr_accessor :address,
11
- :port,
12
- :domain,
13
- :username,
14
- :password,
15
- :authentication,
16
- :use_ssl,
17
- :openssl_verify_mode
18
-
19
- attr_accessor :open_timeout,
20
- :read_timeout,
21
- :save_response
10
+ attr_accessor :address, :port, :domain, :username, :password, :authentication, :use_ssl, :openssl_verify_mode,
11
+ :open_timeout, :read_timeout, :save_response
22
12
 
23
13
  def initialize
24
- @type = :smtp
14
+ super :smtp
15
+
25
16
  @authentication = 'plain'
26
17
  @use_ssl = true
27
18
  @save_response = true
@@ -42,6 +33,14 @@ module MailHandler
42
33
  save_response ? response : nil
43
34
  end
44
35
 
36
+ def can_authenticate?
37
+ method_name = 'start_smtp_session' # Mail::SMTP private method
38
+ configure_sending(Mail.new).delivery_method.send(method_name)
39
+ true
40
+ rescue Net::SMTPAuthenticationError
41
+ false
42
+ end
43
+
45
44
  def valid_response?(response)
46
45
  response.string.to_s.downcase.include?('250 2.0.0 ok')
47
46
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MailHandler
4
- VERSION = '1.0.60'
4
+ VERSION = '1.0.61'
5
5
  end
@@ -8,7 +8,7 @@ describe MailHandler::Receiver do
8
8
 
9
9
  let(:default_search_option) { { by_subject: 'test' } }
10
10
  let(:receiving_duration) { 5 }
11
- let(:found_email) { Mail.new { subject 'test email' } }
11
+ let(:found_email) { Mail.new { subject :"test email" } }
12
12
  let(:checker) do
13
13
  checker = instance_double('Checker')
14
14
 
@@ -72,17 +72,17 @@ describe MailHandler::Receiver do
72
72
  checker
73
73
  end
74
74
 
75
- it "raise error" do
75
+ it 'raise error' do
76
76
  receiver.max_search_duration = 3
77
- receiver.validate_result=true
78
- expect { receiver.find_email(default_search_option) }.
79
- to raise_error(MailHandler::SearchEmailError,
80
- "Email searched by {:by_subject=>\"test\"} not found for 3 seconds.")
77
+ receiver.validate_result = true
78
+ expect { receiver.find_email(default_search_option) }
79
+ .to raise_error(MailHandler::SearchEmailError,
80
+ 'Email searched by {:by_subject=>"test"} not found for 3 seconds.')
81
81
  end
82
82
 
83
- it "do not raise error" do
83
+ it 'do not raise error' do
84
84
  receiver.max_search_duration = 3
85
- receiver.validate_result=false
85
+ receiver.validate_result = false
86
86
  expect(receiver.find_email(default_search_option)).to be false
87
87
  end
88
88
  end
@@ -20,7 +20,7 @@ describe MailHandler::Sender do
20
20
  Mail.new do
21
21
  from 'sheldon@bigbangtheory.com'
22
22
  to 'lenard@bigbangtheory.com'
23
- subject 'Hello!'
23
+ subject :Hello!
24
24
  body 'Hello Sheldon!'
25
25
  end
26
26
  end
@@ -27,6 +27,16 @@ describe MailHandler::Sending::SMTPSender do
27
27
  end
28
28
  end
29
29
 
30
+ it 'can_authenticated' do
31
+ sender = smtp_sender.new
32
+ expect { sender.can_authenticate? }.to raise_error Errno::ECONNREFUSED
33
+ end
34
+
35
+ it 'type' do
36
+ sender = smtp_sender.new
37
+ expect(sender.type).to eq :smtp
38
+ end
39
+
30
40
  it 'save response' do
31
41
  expect(smtp_sender.new.save_response).to be true
32
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailhandler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.60
4
+ version: 1.0.61
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Balos
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-17 00:00:00.000000000 Z
11
+ date: 2022-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mail