Fix rake bug.(Move functions inside namespace)

This commit is contained in:
BoHung Chiu 2021-10-06 11:50:38 +08:00
parent 27deea2610
commit 80e1362ab6
1 changed files with 74 additions and 73 deletions

View File

@ -64,79 +64,80 @@ namespace :epaper do
paper.save paper.save
end end
end end
end def verify_email(from_addr,check_emails,tls) #true if check_email is ok
def verify_email(from_addr,check_emails,tls) #true if check_email is ok s = Timeout.timeout(@open_timeout, Net::OpenTimeout) do
s = Timeout.timeout(@open_timeout, Net::OpenTimeout) do TCPSocket.open(@address, @port)
TCPSocket.open(@address, @port)
end
@socket = new_internet_message_io(tls ? tlsconnect(s) : s)
res = get_response("MAIL FROM:<#{from_addr}>")
invalid_emails = []
check_list = []
if check_emails.class == String
if check_emails.include?(",")
check_list = check_emails.split(",")
else
check_list << check_emails
end
else
check_list = check_emails
end
check_list.each do |check_email|
res1 = get_response("RCPT TO:<#{check_email}>")
res2 = get_response("RCPT TO:<#{check_email}>")
if !(res1.success? && res2.success?)
invalid_emails << check_email
puts [check_email,res1.message,res2.message]
end end
@socket = new_internet_message_io(tls ? tlsconnect(s) : s)
res = get_response("MAIL FROM:<#{from_addr}>")
invalid_emails = []
check_list = []
if check_emails.class == String
if check_emails.include?(",")
check_list = check_emails.split(",")
else
check_list << check_emails
end
else
check_list = check_emails
end
check_list.each do |check_email|
res1 = get_response("RCPT TO:<#{check_email}>")
res2 = get_response("RCPT TO:<#{check_email}>")
if !(res1.success? && res2.success?)
invalid_emails << check_email
puts [check_email,res1.message,res2.message]
end
end
s.close
invalid_emails
end
def get_response(reqline)
res = critical {
@socket.writeline reqline
recv_response()
}
return res
end
def recv_response
buf = ''
while true
line = @socket.readline
buf << line << "\n"
break unless line[3,1] == '-' # "210-PIPELINING"
end
Net::SMTP::Response.parse(buf)
end
def critical
return Net::SMTP::Response.parse('200 dummy reply code') if @error_occurred
begin
return yield()
rescue Exception
@error_occurred = true
raise
end
end
def ssl_socket(socket, context)
OpenSSL::SSL::SSLSocket.new socket, context
end
def tlsconnect(s)
verified = false
s = ssl_socket(s, @ssl_context)
s.sync_close = true
s.connect
if @ssl_context.verify_mode != OpenSSL::SSL::VERIFY_NONE
s.post_connection_check(@address)
end
verified = true
s
ensure
s.close unless verified
end
def new_internet_message_io(s)
io = Net::InternetMessageIO.new(s)
io.read_timeout = @read_timeout
io.debug_output = @debug_output
io
end end
s.close
invalid_emails
end end
def get_response(reqline)
res = critical {
@socket.writeline reqline
recv_response()
}
return res
end
def recv_response
buf = ''
while true
line = @socket.readline
buf << line << "\n"
break unless line[3,1] == '-' # "210-PIPELINING"
end
Net::SMTP::Response.parse(buf)
end
def critical
return Net::SMTP::Response.parse('200 dummy reply code') if @error_occurred
begin
return yield()
rescue Exception
@error_occurred = true
raise
end
end
def ssl_socket(socket, context)
OpenSSL::SSL::SSLSocket.new socket, context
end
def tlsconnect(s)
verified = false
s = ssl_socket(s, @ssl_context)
s.sync_close = true
s.connect
if @ssl_context.verify_mode != OpenSSL::SSL::VERIFY_NONE
s.post_connection_check(@address)
end
verified = true
s
ensure
s.close unless verified
end
def new_internet_message_io(s)
io = Net::InternetMessageIO.new(s)
io.read_timeout = @read_timeout
io.debug_output = @debug_output
io
end