مراية لـ
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
|
||||
sender = @state.sender_for(HTTPSender, queued_message.message.endpoint)
|
||||
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
|
||||
log "invalid endpoint for route (#{queued_message.message.endpoint_type})"
|
||||
create_delivery "HardFail", details: "Invalid endpoint for route."
|
||||
|
||||
@@ -5,10 +5,10 @@ module MessageDequeuer
|
||||
|
||||
attr_accessor :send_result
|
||||
|
||||
def sender_for(klass, *args)
|
||||
def sender_for(klass, *args, **kwargs)
|
||||
@cached_senders ||= {}
|
||||
@cached_senders[[klass, args]] ||= begin
|
||||
klass_instance = klass.new(*args)
|
||||
@cached_senders[[klass, args, kwargs]] ||= begin
|
||||
klass_instance = klass.new(*args, **kwargs)
|
||||
klass_instance.start
|
||||
klass_instance
|
||||
end
|
||||
|
||||
@@ -434,7 +434,7 @@ module MessageDequeuer
|
||||
it "gets a sender from the state and sends the message to it" do
|
||||
smtp_sender_double = double("SMTPSender")
|
||||
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
|
||||
end
|
||||
end
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم