RPA.Outlook.Application
Close the active document and app (if open).
Arguments
Argument | Type | Default value | Description |
---|---|---|---|
save_changes | bool | False | Enable changes saving on quit. (False by default) |
param save_changes: | |
---|---|
Enable changes saving on quit. (False by default) |
Get emails from a specified email folder. Can be used to save attachments.
Arguments
Argument | Type | Default value | Description |
---|---|---|---|
account_name | str, None | None | needs to be given if there are shared accounts in use, defaults to None |
folder_name | str, None | None | target folder where to get emails from, default Inbox |
email_filter | str, None | None | how to filter email, default no filter, ie. all emails in folder |
save_attachments | bool | False | if attachments should be saved, defaults to False |
attachment_folder | str, None | None | target folder where attachments are saved, defaults to current directory |
sort | bool | False | if emails should be sorted, defaults to False |
sort_key | str, None | None | needs to be given if emails are to be sorted |
sort_descending | bool | True | set to False for ascending sort, defaults to True |
param account_name: | |
---|---|
needs to be given if there are shared accounts in use, defaults to None | |
param folder_name: | |
target folder where to get emails from, default Inbox | |
param email_filter: | |
how to filter email, default no filter, ie. all emails in folder | |
param save_attachments: | |
if attachments should be saved, defaults to False | |
param attachment_folder: | |
target folder where attachments are saved, defaults to current directory | |
param sort: | if emails should be sorted, defaults to False |
param sort_key: | needs to be given if emails are to be sorted |
param sort_descending: | |
set to False for ascending sort, defaults to True | |
return: | list of emails (list of dictionaries) |
Examples
${emails}= Get Emails
... email_folder=priority
... email_filter=[Subject]='incoming order'
... save_attachments=True
... attachment_folder=%{ROBOT_ROOT}${/}attachments
... sort=True
... sort_key=Received
... sort_descending=False
Mark email 'read' property. Can be used to mark email as unread.
Arguments
Argument | Type | Default value | Description |
---|---|---|---|
Any | null | target email | |
read | bool | True | True marks email as Read, False as Unread |
param email: | target email |
---|---|
param read: | True marks email as Read, False as Unread |
Examples
${emails}= Get Emails
# Mark all as read
FOR ${email} IN @{emails}
Mark Email As Read ${email}
END
# Mark all as unread
FOR ${email} IN @{emails}
Mark Email As Read ${email} False
END
Move emails from source folder to target folder.
Arguments
Argument | Type | Default value | Description |
---|---|---|---|
account_name | str, None | None | needs to be given if there are shared accounts in use, defaults to None |
source_folder | str, None | None | folder where source emails exist |
email_filter | str, None | None | how to filter email, default no filter, ie. all emails in folder |
target_folder | str, None | None | folder where emails are moved into |
Use of "account_name" is recommended if there are shared accounts in use.
param account_name: | |
---|---|
needs to be given if there are shared accounts in use, defaults to None | |
param source_folder: | |
folder where source emails exist | |
param email_filter: | |
how to filter email, default no filter, ie. all emails in folder | |
param target_folder: | |
folder where emails are moved into | |
return: | True if move operation was success, False if not |
Examples
# moving messages from Inbox to target_folder
Move Emails
... target_folder=Processed Invoices
... email_filter=[Subject]='incoming invoice'
# moving messages from source_folder to target_folder
Move Emails
... source_folder=Incoming Invoices
... target_folder=Processed Invoices
... email_filter=[Subject]='incoming invoice'
Open the application.
Arguments
Argument | Type | Default value | Description |
---|---|---|---|
visible | bool | False | Show the window on opening. (False by default) |
display_alerts | bool | False | Display alert popups. (False by default) |
param visible: | Show the window on opening. (False by default) |
---|---|
param display_alerts: | |
Display alert popups. (False by default) |
Quit the application.
Arguments
Argument | Type | Default value | Description |
---|---|---|---|
save_changes | bool | False | Enable to save changes on quit. (False by default) |
param save_changes: | |
---|---|
Enable to save changes on quit. (False by default) |
Save email attachments.
Arguments
Argument | Type | Default value | Description |
---|---|---|---|
attachments | Any | null | all attachments from email or single attachment |
attachment_folder | str | null | target folder where attachments are saved, defaults to current directory |
overwrite | bool | False | overwrite existing file if True, defaults to False |
Note. Keyword "Get Emails" can be also used to save attachments.
param attachments: | |
---|---|
all attachments from email or single attachment | |
param attachment_folder: | |
target folder where attachments are saved, defaults to current directory | |
param overwrite: | |
overwrite existing file if True, defaults to False |
Examples
${emails} = Get Emails
... email_folder=priority
FOR ${email} IN @{emails}
FOR ${attachment} IN @{email}[Attachments]
IF ${attachment}[size] < 100000 # bytes
Save Email Attachments
... ${attachment}
... ${CURDIR}${/}attachments
ELSE IF ".pdf" in "${attachment}[filename]"
Save Email Attachments
... ${attachment}
... ${CURDIR}${/}attachments${/}pdf
END
END
END
Send email with Outlook
Arguments
Argument | Type | Default value | Description |
---|---|---|---|
recipients | str, List[str] | null | list of addresses |
subject | str | null | email subject |
body | str | null | email body |
html_body | bool | False | True if body contains HTML, defaults to False |
attachments | str, List[str], None | None | list of filepaths to include in the email, defaults to [] |
save_as_draft | bool | False | email is saved as draft when True |
cc_recipients | str, List[str], None | None | list of addresses for CC field, default None |
bcc_recipients | str, List[str], None | None | list of addresses for BCC field, default None |
param recipients: | |
---|---|
list of addresses | |
param subject: | email subject |
param body: | email body |
param html_body: | |
True if body contains HTML, defaults to False | |
param attachments: | |
list of filepaths to include in the email, defaults to [] | |
param save_as_draft: | |
email is saved as draft when True | |
param cc_recipients: | |
list of addresses for CC field, default None | |
param bcc_recipients: | |
list of addresses for BCC field, default None | |
return: | True if there were no errors |
Examples
library = Outlook()
library.open_application()
cc_recipients = ["recipient3@domain.com","recipient4@domain.com"]
library.send_email(
recipients="recipient1@domain.com",
cc_recipients=cc_recipients,
bcc_recipients="recipient3@domain.com;recipient4@domain.com",
subject="hello from Outlook",
body="empty body",
attachments=os.path.join(os.path.curdir, "example.xslx")
)
${cc}= Create List recipient3@domain.com recipient4@domain.com
Send Email
... recipients=recipient1@domain.com
... cc_repients=${cc}
... bcc_repients=recipient5@domain.com;recipient6@domain.com
... subject=hello from Outlook
... body=empty body
... attachments=${CURDIR}${/}example.xlsx
Wait for email matching criterion to arrive into mailbox.
Arguments
Argument | Type | Default value | Description |
---|---|---|---|
criterion | str, None | None | email filter to wait for, defaults to "" |
timeout | float | 5.0 | total time in seconds to wait for email, defaults to 5.0 |
interval | float | 1.0 | time in seconds for new check, defaults to 1.0 |
param criterion: | |
---|---|
email filter to wait for, defaults to "" | |
param timeout: | total time in seconds to wait for email, defaults to 5.0 |
param interval: | time in seconds for new check, defaults to 1.0 |
return: | list of messages or False |
Possible wait criterias are: SUBJECT, SENDER and BODY
Examples
Wait for Email SUBJECT:rpa task calling timeout=300 interval=10