مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2025-12-01 05:43:04 +00:00
fix(message-dequeuer): ensure SMTP endpoints are sent to SMTP sender appropriately
closes #2853
هذا الالتزام موجود في:
@@ -163,7 +163,7 @@ module MessageDequeuer
|
|||||||
|
|
||||||
case queued_message.message.endpoint
|
case queued_message.message.endpoint
|
||||||
when SMTPEndpoint
|
when SMTPEndpoint
|
||||||
sender = @state.sender_for(SMTPSender, queued_message.message.recipient_domain, nil, servers: [queued_message.message.endpoint])
|
sender = @state.sender_for(SMTPSender, queued_message.message.recipient_domain, nil, servers: [queued_message.message.endpoint.to_smtp_client_server])
|
||||||
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
|
||||||
|
|||||||
@@ -47,4 +47,8 @@ class SMTPEndpoint < ApplicationRecord
|
|||||||
routes.each { |r| r.update(endpoint: nil, mode: "Reject") }
|
routes.each { |r| r.update(endpoint: nil, mode: "Reject") }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def to_smtp_client_server
|
||||||
|
SMTPClient::Server.new(hostname, port: port || 25, ssl_mode: ssl_mode)
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -422,7 +422,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, message.recipient_domain, nil, { servers: [endpoint] }).and_return(smtp_sender_double)
|
expect(state).to receive(:sender_for).with(SMTPSender, message.recipient_domain, nil, { servers: [kind_of(SMTPClient::Server)] }).and_return(smtp_sender_double)
|
||||||
processor.process
|
processor.process
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم