Skip to content

Commit e6e2602

Browse files
authored
Merge pull request #1208 from yeyeric/master
allow delay delivery option of email
2 parents cc36616 + ad99b87 commit e6e2602

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

O365/message.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,18 @@ def add_message_header(self, name, value):
766766
return
767767
self.__message_headers.append({"name": name, "value": value})
768768

769+
def delay_delivery(self, delay_seconds_or_absolute_datetime):
770+
if isinstance(delay_seconds_or_absolute_datetime, int):
771+
self.single_value_extended_properties.append({
772+
"id": "SystemTime 0x3FEF",
773+
"value": (dt.datetime.now(dt.timezone.utc) + dt.timedelta(seconds=delay_seconds_or_absolute_datetime)).strftime("%Y-%m-%dT%H:%M:%SZ")
774+
})
775+
else:
776+
self.single_value_extended_properties.append({
777+
"id": "SystemTime 0x3FEF",
778+
"value": delay_seconds_or_absolute_datetime
779+
})
780+
769781
def to_api_data(self, restrict_keys=None):
770782
""" Returns a dict representation of this message prepared to be sent
771783
to the cloud
@@ -841,6 +853,9 @@ def to_api_data(self, restrict_keys=None):
841853
if self.message_headers:
842854
message[cc('internetMessageHeaders')] = self.message_headers
843855

856+
if self.single_value_extended_properties:
857+
message[cc('singleValueExtendedProperties')] = self.single_value_extended_properties
858+
844859
if restrict_keys:
845860
for key in list(message.keys()):
846861
if key not in restrict_keys:

0 commit comments

Comments
 (0)