Add step template to support sending email via MailKit #1594
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background
A customer requested the ability to send an email from Octopus Cloud using an internal only SMTP network. Running this step on a polling worker that can connect to the SMTP server will allow the email to be sent successfully
This step template supports sending an email using the MailKit library, a cross-platform .NET library for IMAP, POP3, and SMTP.
,).,).reply-toaddress.This step does not support running on PowerShell: Windows Desktop Edition.
Required:
MailKitandMimeKitpackages are installed on the target or worker. If the packages can't be found, the step will attempt to download them from https://www.nuget.org.Notes:
2025.1.Results
Customer can send an email using an internal network
Before
After
Pre-requisites
Idshould be a GUID that is not00000000-0000-0000-0000-000000000000Idproperty (updating theIdwill break the Library sync functionality in Octopus).Versionshould be incremented, otherwise the integration with Octopus won't update the step template correctly$LastModifiedByfield must be present, and (optionally) updated with the correct authorCategoryhas been created:{categoryname}.pngmust be present under thestep-templates/logosfolderswitchin thehumanizefunction ingulpfile.babel.jsmust have acasestatement corresponding to it