Fix mail verify.

This commit is contained in:
邱博亞 2024-09-15 11:00:37 +08:00
parent 94a97c1419
commit 743444dfff
1 changed files with 15 additions and 4 deletions

View File

@ -32,8 +32,13 @@ namespace :epaper do
Thread.new do
tmp = []
site = Site.first
@address = site['site_settings']['address']
@port = (site['site_settings']['port'].to_i rescue 587)
if site[:gmail_login_flag]
@address = '127.0.0.1'
@port = 25
else
@address = site['site_settings']['address']
@port = (site['site_settings']['port'].to_i rescue 587)
end
@open_timeout = 10
@read_timeout = 60
@debug_output = nil
@ -72,8 +77,14 @@ namespace :epaper do
end
end
def epaper_verify_email(from_addr,check_emails,tls) #true if check_email is ok
s = Timeout.timeout(@open_timeout, Net::OpenTimeout) do
TCPSocket.open(@address, @port)
return [] if @mail_server_broken
begin
s = Timeout.timeout(@open_timeout, Net::OpenTimeout) do
TCPSocket.open(@address, @port)
end
rescue => e
puts [e.to_s, e.backtrace]
@mail_server_broken = true
end
@socket = epaper_new_internet_message_io(tls ? epaper_tlsconnect(s) : s)
res = epaper_get_response("MAIL FROM:<#{from_addr}>")