@@ -21,7 +21,7 @@ def __init__(self, **kwargs):
2121 "api_url" ,
2222 esp_name = esp_name ,
2323 kwargs = kwargs ,
24- default = "https://app.mailpace.com/api/v1/send " ,
24+ default = "https://app.mailpace.com/api/v1/" ,
2525 )
2626 if not api_url .endswith ("/" ):
2727 api_url += "/"
@@ -37,7 +37,7 @@ def raise_for_status(self, response, payload, message):
3737
3838 def parse_recipient_status (self , response , payload , message ):
3939 # Prepare the dict by setting everything to queued without a message id
40- unknown_status = AnymailRecipientStatus (message_id = None , status = "queued " )
40+ unknown_status = AnymailRecipientStatus (message_id = None , status = "unknown " )
4141 recipient_status = CaseInsensitiveCasePreservingDict (
4242 {recip .addr_spec : unknown_status for recip in payload .to_cc_and_bcc_emails }
4343 )
@@ -122,10 +122,11 @@ def __init__(self, message, defaults, backend, *args, **kwargs):
122122 }
123123 self .server_token = backend .server_token # esp_extra can override
124124 self .to_cc_and_bcc_emails = []
125- self .merge_data = None
126- self .merge_metadata = None
127125 super ().__init__ (message , defaults , backend , headers = headers , * args , ** kwargs )
128126
127+ def get_api_endpoint (self ):
128+ return "send"
129+
129130 def get_request_params (self , api_url ):
130131 params = super ().get_request_params (api_url )
131132 params ["headers" ]["MailPace-Server-Token" ] = self .server_token
@@ -159,6 +160,12 @@ def set_reply_to(self, emails):
159160 reply_to = ", " .join ([email .address for email in emails ])
160161 self .data ["replyto" ] = reply_to
161162
163+ def set_extra_headers (self , headers ):
164+ if "list-unsubscribe" in headers :
165+ self .data ["list_unsubscribe" ] = headers .pop ("list-unsubscribe" )
166+ if headers :
167+ self .unsupported_features ("extra_headers (other than List-Unsubscribe)" )
168+
162169 def set_text_body (self , body ):
163170 self .data ["textbody" ] = body
164171
@@ -188,3 +195,8 @@ def set_tags(self, tags):
188195 self .data ["tags" ] = tags [0 ]
189196 else :
190197 self .data ["tags" ] = tags
198+
199+ def set_esp_extra (self , extra ):
200+ self .data .update (extra )
201+ # Special handling for 'server_token':
202+ self .server_token = self .data .pop ("server_token" , self .server_token )
0 commit comments