مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2025-11-30 21:32:30 +00:00
fix: fixes issue with SMTP sender with address endpoints
هذا الالتزام موجود في:
@@ -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
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم