Skip to content

Add attachment support to SMTP state and module - #47442

Merged
rallytime merged 10 commits into
saltstack:developfrom
jeduardo:add-smtp-attachments
Jun 13, 2018
Merged

Add attachment support to SMTP state and module#47442
rallytime merged 10 commits into
saltstack:developfrom
jeduardo:add-smtp-attachments

Conversation

@jeduardo

@jeduardo jeduardo commented May 2, 2018

Copy link
Copy Markdown
Contributor

What does this PR do?

This PR adds support to sending out email messages containing one or more attachments specified through a new parameter called attachments.

The acceptable value for this parameter is a list of files present in the local filesystem that will be added as attachments to the outgoing email sent by the Salt state/module for SMTP.

What issues does this PR fix or reference?

When trying to deploy some automation bits where Salt generates a file periodically (for example, a client certificate) I have faced the issue that I cannot easily send out the generated file to a recipient through email.

The enhancement on this PR makes this particular use case possible.

Previous Behavior

The attachments key is not present and is ignored by Salt.

New Behavior

All files in the minion filesystem specified as a list under the attachments key are added as individual attachments to an outgoing email message.

Tests written?

No

Commits signed with GPG?

No

@jeduardo

jeduardo commented May 4, 2018

Copy link
Copy Markdown
Contributor Author

@cachedout hey! You've helped me with my last PR when Jenkins was failing. This time even the reviewer bot is not making an appearance. Any idea about what might be going on here?

@cachedout

Copy link
Copy Markdown
Contributor

Hi @jeduardo

The bot broke a little while ago. :(

Let's start by having you fix up these lint errors, please:

https://jenkins.saltstack.com/job/PR/job/salt-pr-lint-n/21534/violations/file/salt/modules/smtp.py/

@jeduardo

Copy link
Copy Markdown
Contributor Author

@cachedout it took some time specially after the linting task was not accessible for a couple days but linting problems are finally resolved! What else?

@jeduardo

Copy link
Copy Markdown
Contributor Author

@cachedout hey! Builds seem to be failing now because of issues not related to the changes suggested in this PR. Could you please review it and send forward any other suggestions? I'm really keen to get this functionality added to Salt, either as I'm proposing or in any other way. Thanks!

Comment thread salt/modules/smtp.py Outdated
use_ssl='True',
username=None,
password=None,
attachments=None,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you move this to the end of the list so we don't cause an API error?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, of course! Moved to the end, thanks for spotting it. :)

Comment thread salt/states/smtp.py Outdated
subject,
sender=None,
profile=None,
attachments=None,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment here. :)

@rallytime
rallytime requested a review from cachedout May 31, 2018 18:49

@rallytime rallytime left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jeduardo

jeduardo commented Jun 5, 2018

Copy link
Copy Markdown
Contributor Author

@rallytime thanks for approving it! :)

@rallytime
rallytime merged commit 95dfa26 into saltstack:develop Jun 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants