The Mail result plugin enables you to receive email notifications for job start and completion events within the Avocado testing framework.
Installation
To install the Mail results plugin from pip, use:
$ pip install avocado-framework-plugin-result-mail
Configuration
To use the Mail Result plugin, you need to configure it in the Avocado settings file.
(avocado.conf located /etc/avocado/ if not present you can create the file) Below is an configuration example:
[plugins.mail]
# The email address to which job notification emails will be sent.
recipient = avocado@local.com
# The subject header for the job notification emails.
header = [AVOCADO JOB NOTIFICATION]
# The email address from which the job notification emails will be sent.
sender = avocado@local.com
# The SMTP server address for sending the emails.
server = smtp.gmail.com
# The SMTP server port for sending the emails.
port = 587
# The application-specific password for the sender email address.
password = abcd efgh ijkl mnop
# The detail level of the email content.
# Set to false for a summary with essential details
# or true for detailed information about each failed test.
verbose = false
Usage
Once configured, the Mail result plugin will automatically send email notifications for job start and completion events based on the specified settings.
Obtaining an App Password for Gmail
Please follow these steps to generate an App Password:
Create & use app passwords
Important: To create an app password, you need 2-Step Verification on your Google Account.
Go to your Google Account.
Select Security.
Under “How you sign in to Google,” select 2-Step Verification.
At the bottom of the page, select App passwords.
Enter a name that helps you remember where you’ll use the app password.
Select Generate.
To enter the app password, follow the instructions on your screen.
The app password is the 16-character code that generates on your device.
Select Done.
Enter the App Password inside of the avocado configuration file.
Remember to keep this App Password secure and don’t share it with anyone. If you suspect it has been compromised, you can always revoke it and generate a new one.
Example Plugin Outputs
Verbose True
Job Notification - Job abca44fb69558024b0af74a5654ab282f00f1253
===============================================================
Job Total Time: 24.03 Seconds
Job Finished At: 2024-06-25 16:31:58
Results
-------
- PASS: 6
- ERROR: 0
- FAIL: 1
- SKIP: 0
- WARN: 0
- INTERRUPT: 0
- CANCEL: 0
Test Summary
------------
Name: selftests/safeloader.sh
Status: FAIL
Fail Reason:
Actual Time Start: 1719325898.06546
Actual Time End: 1719325902.474006
ID: static-checks-4-selftests/safeloader.sh
Log Directory: /home/hlynden/avocado/job-results/job-2024-06-25T16.31-abca44f/test-results/static-checks-4-selftests_safeloader.sh
Log File: /home/hlynden/avocado/job-results/job-2024-06-25T16.31-abca44f/test-results/static-checks-4-selftests_safeloader.sh/debug.log
Time Elapsed: 4.410571283999161 seconds
Time Start: 22630.607959844
Time End: 22635.018531128
Tags: {}
Whiteboard:
Verbose False
Job Notification - Job 83da84014a9cbe7a89bea398eb1608dc04743897
===============================================================
Job Total Time: 24.03 Seconds
Job Finished At: 2024-06-25 16:31:58
Results
-------
- PASS: 6
- ERROR: 0
- FAIL: 1
- SKIP: 0
- WARN: 0
- INTERRUPT: 0
- CANCEL: 0
Test Summary
------------
Name: selftests/safeloader.sh
Fail Reason:
Metadata
Release files for avocado-framework-plugin-result-mail 113.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| avocado_framework_plugin_result_mail-113.0.tar.gz | 6.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| avocado_framework_plugin_result_mail-113.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.1 kB
Release files / avocado_framework_plugin_result_mail-113.0.tar.gz
| Download URL | avocado_framework_plugin_result_mail-113.0.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9d04dc69ede4aabcef589ea90a4423913eac9ba87a8dcea13503c07f637de05a
|
|
BLAKE2b-256 checksum How to use checksums |
1763ac7af06118c3ce5338cc0071c79eae8ee838e1389d5e6e8b328fab91fdba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 26, 2026.
Transparency logRelease files / avocado_framework_plugin_result_mail-113.0-py3-none-any.whl
| Download URL | avocado_framework_plugin_result_mail-113.0-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f0a0ab2fbe0de93d22315e91d8c6a73c5a4f17369cd2e57e448c54058e983054
|
|
BLAKE2b-256 checksum How to use checksums |
28f198c6bf8ac96ad2888af5aeff85e9232ca5496e3d1ea817954dca6971ffc8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 26, 2026.
Transparency log