fix: Remove IMAP and SMTP email validation (#4435)
* Remove IMAP and SMTP email validation * Rename imap_email & smtp_email columns to imap_login & smtp_login respectively. * Use channel email domain if inbound email domain not present
This commit is contained in:
@@ -426,7 +426,7 @@ RSpec.describe 'Inboxes API', type: :request do
|
||||
imap_enabled: true,
|
||||
imap_address: 'imap.gmail.com',
|
||||
imap_port: 993,
|
||||
imap_email: 'imaptest@gmail.com'
|
||||
imap_login: 'imaptest@gmail.com'
|
||||
}
|
||||
},
|
||||
as: :json
|
||||
@@ -496,7 +496,7 @@ RSpec.describe 'Inboxes API', type: :request do
|
||||
smtp_enabled: true,
|
||||
smtp_address: 'smtp.gmail.com',
|
||||
smtp_port: 587,
|
||||
smtp_email: 'smtptest@gmail.com',
|
||||
smtp_login: 'smtptest@gmail.com',
|
||||
smtp_enable_starttls_auto: true,
|
||||
smtp_openssl_verify_mode: 'peer'
|
||||
}
|
||||
@@ -525,7 +525,7 @@ RSpec.describe 'Inboxes API', type: :request do
|
||||
channel: {
|
||||
smtp_enabled: true,
|
||||
smtp_address: 'smtp.gmail.com',
|
||||
smtp_email: 'smtptest@gmail.com',
|
||||
smtp_login: 'smtptest@gmail.com',
|
||||
smtp_port: 587,
|
||||
smtp_enable_ssl_tls: true,
|
||||
smtp_openssl_verify_mode: 'none'
|
||||
|
||||
@@ -3,7 +3,7 @@ require 'rails_helper'
|
||||
RSpec.describe Inboxes::FetchImapEmailInboxesJob, type: :job do
|
||||
let(:account) { create(:account) }
|
||||
let(:imap_email_channel) do
|
||||
create(:channel_email, imap_enabled: true, imap_address: 'imap.gmail.com', imap_port: 993, imap_email: 'imap@gmail.com',
|
||||
create(:channel_email, imap_enabled: true, imap_address: 'imap.gmail.com', imap_port: 993, imap_login: 'imap@gmail.com',
|
||||
imap_password: 'password', account: account)
|
||||
end
|
||||
let(:email_inbox) { create(:inbox, channel: imap_email_channel, account: account) }
|
||||
|
||||
@@ -3,7 +3,7 @@ require 'rails_helper'
|
||||
RSpec.describe Inboxes::FetchImapEmailsJob, type: :job do
|
||||
let(:account) { create(:account) }
|
||||
let(:imap_email_channel) do
|
||||
create(:channel_email, imap_enabled: true, imap_address: 'imap.gmail.com', imap_port: 993, imap_email: 'imap@gmail.com',
|
||||
create(:channel_email, imap_enabled: true, imap_address: 'imap.gmail.com', imap_port: 993, imap_login: 'imap@gmail.com',
|
||||
imap_password: 'password', imap_inbox_synced_at: Time.now.utc - 10, account: account)
|
||||
end
|
||||
let(:email_inbox) { create(:inbox, channel: imap_email_channel, account: account) }
|
||||
|
||||
@@ -8,7 +8,7 @@ RSpec.describe Imap::ImapMailbox, type: :mailbox do
|
||||
let(:agent) { create(:user, email: 'agent@example.com', account: account) }
|
||||
let(:channel) do
|
||||
create(:channel_email, imap_enabled: true, imap_address: 'imap.gmail.com',
|
||||
imap_port: 993, imap_email: 'imap@gmail.com', imap_password: 'password',
|
||||
imap_port: 993, imap_login: 'imap@gmail.com', imap_password: 'password',
|
||||
account: account)
|
||||
end
|
||||
let(:inbox) { create(:inbox, channel: channel, account: account) }
|
||||
|
||||
@@ -156,7 +156,7 @@ RSpec.describe ConversationReplyMailer, type: :mailer do
|
||||
|
||||
context 'when smtp enabled for email channel' do
|
||||
let(:smtp_email_channel) do
|
||||
create(:channel_email, smtp_enabled: true, smtp_address: 'smtp.gmail.com', smtp_port: 587, smtp_email: 'smtp@gmail.com',
|
||||
create(:channel_email, smtp_enabled: true, smtp_address: 'smtp.gmail.com', smtp_port: 587, smtp_login: 'smtp@gmail.com',
|
||||
smtp_password: 'password', smtp_domain: 'smtp.gmail.com', account: account)
|
||||
end
|
||||
let(:conversation) { create(:conversation, assignee: agent, inbox: smtp_email_channel.inbox, account: account).reload }
|
||||
@@ -251,5 +251,24 @@ RSpec.describe ConversationReplyMailer, type: :mailer do
|
||||
expect(mail.in_reply_to).to eq("account/#{conversation.account.id}/conversation/#{conversation.uuid}@#{conversation.account.domain}")
|
||||
end
|
||||
end
|
||||
|
||||
context 'when inbound email domain is not enabled' do
|
||||
let(:new_account) { create(:account, domain: nil) }
|
||||
let!(:email_channel) { create(:channel_email, account: new_account) }
|
||||
let!(:inbox) { create(:inbox, channel: email_channel, account: new_account) }
|
||||
let(:inbox_member) { create(:inbox_member, user: agent, inbox: inbox) }
|
||||
let(:conversation) { create(:conversation, assignee: agent, inbox: inbox_member.inbox, account: new_account) }
|
||||
let!(:message) { create(:message, conversation: conversation, account: new_account) }
|
||||
let(:mail) { described_class.reply_with_summary(message.conversation, message.id).deliver_now }
|
||||
let(:domain) { inbox.channel.email.split('@').last }
|
||||
|
||||
it 'sets the correct custom message id' do
|
||||
expect(mail.message_id).to eq("conversation/#{conversation.uuid}/messages/#{message.id}@#{domain}")
|
||||
end
|
||||
|
||||
it 'sets the correct in reply to id' do
|
||||
expect(mail.in_reply_to).to eq("account/#{conversation.account.id}/conversation/#{conversation.uuid}@#{domain}")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user