Skip to content

Add attachment support to SMTP state and module #47442

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jun 13, 2018
Merged

Add attachment support to SMTP state and module #47442

merged 10 commits into from
Jun 13, 2018

Conversation

jeduardo
Copy link
Contributor

@jeduardo jeduardo commented May 2, 2018

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
Copy link
Contributor Author

jeduardo commented May 4, 2018

@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
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
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
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!

@@ -76,6 +82,7 @@ def send_msg(recipient,
use_ssl='True',
username=None,
password=None,
attachments=None,
Copy link
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
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. :)

subject,
sender=None,
profile=None,
attachments=None,
Copy link
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
Copy link
Contributor

@rallytime rallytime left a comment

Choose a reason for hiding this comment

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

LGTM

@jeduardo
Copy link
Contributor Author

jeduardo commented Jun 5, 2018

@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