1
0
مراية لـ https://github.com/postalserver/postal.git تم المزامنة 2025-11-30 21:32:30 +00:00

fix: fixes issue with SMTP sender with address endpoints

هذا الالتزام موجود في:
Adam Cooke
2024-03-01 18:27:53 +00:00
الأصل 0140dc4483
التزام 2621a190b1
3 ملفات معدلة مع 5 إضافات و5 حذوفات

عرض الملف

@@ -167,7 +167,7 @@ module MessageDequeuer
when HTTPEndpoint when HTTPEndpoint
sender = @state.sender_for(HTTPSender, queued_message.message.endpoint) sender = @state.sender_for(HTTPSender, queued_message.message.endpoint)
when AddressEndpoint when AddressEndpoint
sender = @state.sender_for(SMTPSender, queued_message.message.endpoint.domain, nil, force_rcpt_to: queued_message.message.endpoint.address) sender = @state.sender_for(SMTPSender, queued_message.message.endpoint.domain, nil, rcpt_to: queued_message.message.endpoint.address)
else else
log "invalid endpoint for route (#{queued_message.message.endpoint_type})" log "invalid endpoint for route (#{queued_message.message.endpoint_type})"
create_delivery "HardFail", details: "Invalid endpoint for route." create_delivery "HardFail", details: "Invalid endpoint for route."

عرض الملف

@@ -5,10 +5,10 @@ module MessageDequeuer
attr_accessor :send_result attr_accessor :send_result
def sender_for(klass, *args) def sender_for(klass, *args, **kwargs)
@cached_senders ||= {} @cached_senders ||= {}
@cached_senders[[klass, args]] ||= begin @cached_senders[[klass, args, kwargs]] ||= begin
klass_instance = klass.new(*args) klass_instance = klass.new(*args, **kwargs)
klass_instance.start klass_instance.start
klass_instance klass_instance
end end

عرض الملف

@@ -434,7 +434,7 @@ module MessageDequeuer
it "gets a sender from the state and sends the message to it" do it "gets a sender from the state and sends the message to it" do
smtp_sender_double = double("SMTPSender") smtp_sender_double = double("SMTPSender")
expect(smtp_sender_double).to receive(:send_message).with(queued_message.message).and_return(SendResult.new) expect(smtp_sender_double).to receive(:send_message).with(queued_message.message).and_return(SendResult.new)
expect(state).to receive(:sender_for).with(SMTPSender, endpoint.domain, nil, { force_rcpt_to: endpoint.address }).and_return(smtp_sender_double) expect(state).to receive(:sender_for).with(SMTPSender, endpoint.domain, nil, { rcpt_to: endpoint.address }).and_return(smtp_sender_double)
processor.process processor.process
end end
end end