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 +4 -4
- data/lib/mailhandler/extensions/mail/smtp.rb +3 -3
- data/lib/mailhandler/receiving/base.rb +1 -1
- data/lib/mailhandler/receiving/folder.rb +4 -4
- data/lib/mailhandler/receiving/imap.rb +1 -1
- data/lib/mailhandler/sending/api.rb +2 -2
- data/lib/mailhandler/sending/api_batch.rb +1 -1
- data/lib/mailhandler/sending/base.rb +4 -0
- data/lib/mailhandler/sending/smtp.rb +13 -14
- data/lib/mailhandler/version.rb +1 -1
- data/spec/unit/mailhandler/receiver_spec.rb +8 -8
- data/spec/unit/mailhandler/sender_spec.rb +1 -1
- data/spec/unit/mailhandler/sending/sender_smtp_spec.rb +10 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de40ee0be87a056910ae5518108c764c7eb9ac8c3966bf493785fffc91e7cb5b
|
4
|
+
data.tar.gz: 021c325cb06ded1e127b2eda02ab4aacd01dc39be42b0f2a43b65354d505742f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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(:
|
7
|
-
|
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 = "#{
|
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
|
4
|
+
require_relative 'base'
|
5
5
|
require_relative '../errors'
|
6
|
-
require_relative 'filelist/base
|
7
|
-
require_relative 'filelist/filter/base
|
8
|
-
require_relative 'filelist/filter/email
|
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 'postmark'
|
4
|
-
require_relative 'base
|
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
|
-
|
17
|
+
super(:postmark_api)
|
18
18
|
@host = DEFAULTS[:host]
|
19
19
|
@api_token = api_token
|
20
20
|
@use_ssl = true
|
@@ -1,27 +1,18 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'base'
|
4
|
-
require_relative
|
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
|
-
:
|
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
|
-
|
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
|
data/lib/mailhandler/version.rb
CHANGED
@@ -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
|
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
|
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
|
-
|
80
|
-
|
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
|
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
|
@@ -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.
|
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
|
+
date: 2022-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mail
|