Repository navigation
Add MailChannels Email API 0.1.1 - #3619
Merged
Merged
Conversation
crazywoola
approved these changes
Nov 4, 2026
crazywoola
left a comment
Member
There was a problem hiding this comment.
Pre Check Plugin and PR Risk Label passed for this revision. Inspected the package, documentation and relevant source: this is a non-draft plugin submission with no Web3 functionality identified. This is an eligibility review, not a comprehensive security audit.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Plugin Submission
Plugin information
Submission type
What changed
Adds a transactional email tool for Dify workflows and agents, built on the MailChannels Email API. The provider configuration fixes the API key, sender, an exact allowlist of recipients and dry-run/send mode. The model supplies only the recipient, subject, plain text and optional HTML. Saving credentials always validates with a dry-run, even when send mode is selected. API acceptance is reported separately from delivery.
Risk level
Required checks
.envfiles,.gitdirectories, virtual environments, caches, logs, or IDE files.PRIVACY.mdor a hosted privacy policy, andmanifest.yamlreferences it.Security and privacy notes
Medium risk: the tool performs an external write (sending email) and transmits recipient and message content to MailChannels. The destination is fixed to HTTPS api.mailchannels.net with normal certificate verification, no redirects, a 30 second connect/read-inactivity timeout and no automatic retry. The model cannot change the credentials, sender, allowed recipients or send mode, and the recipient allowlist holds at most 100 exact addresses. The tool exposes no arbitrary URL fetching, attachments, command or code execution, SQL, filesystem access or browser automation. It is meant for general transactional content, not for specialized sensitive data.
Dify stores the provider credentials and may retain workflow inputs and outputs under its own policies. The tool does not return raw provider errors, headers or rendered MIME. Saving credentials sends the configured sender and a synthetic message to the provider's dry-run endpoint.
There is no durable idempotency, so an agent repetition or workflow retry can send twice; reconcile unknown outcomes before retrying. Uninstalling the plugin does not guarantee credential deletion: delete the tool credentials in provider settings before uninstalling, and revoke the API key upstream when appropriate.
Local validation
Built from source commit cceb7eb655f748d6a1796b80e1ebfbb40fc89b02 with
dify plugin package0.6.10. Archive SHA-256: 1cfdd3d7ad5c0f5017d242eaa1bb20fddf887f0e1b101290a5a7f2b47c8ec68a (12 files).python -m pytest -q: 44 passed.--network none: 7 invocation and credential scenarios passed.dify-marketplace-toolkitvalidator/validate-difypkg.pywith this PR body: 0 blocking findings.Limitations: not tested on Dify Cloud or with a model-driven Agent;
minimum_dify_version1.17.1 is the oldest version tested.Reviewer notes
The financial-activity heuristic matches the README sentence saying MailChannels bills for its service separately. The plugin does not process payments or transfer assets or tokens.