{"id":353299,"date":"2026-09-23T08:34:18","date_gmt":"2026-09-23T08:34:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sendigram-mail\/"},"modified":"2026-09-23T08:33:53","modified_gmt":"2026-09-23T08:33:53","slug":"sendigram-mail","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sendigram-mail\/","author":23548007,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.6","stable_tag":"1.2.6","tested":"7.1.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Sendigram Mail","header_author":"Sendigram Pty Ltd","header_description":"Official WordPress integration for the Sendigram email marketing platform, by Sendigram Pty Ltd (contacts, campaigns, forms).","assets_banners_color":"5f50de","last_updated":"2026-09-23 08:33:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/sendigram.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":44,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.6":{"tag":"1.2.6","author":"sendigram","date":"2026-09-23 08:33:53","revision":3708850}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3708848,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3708848,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3708848,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3708848,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3708848,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.6"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3708848,"resolution":"1","location":"assets","locale":"","width":1956,"height":1506},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3708848,"resolution":"2","location":"assets","locale":"","width":1956,"height":1186},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3708848,"resolution":"3","location":"assets","locale":"","width":1360,"height":1808}},"screenshots":{"1":"Connection screen with the two-step onboarding: create a Sendigram account and connect with an API key.","2":"Connected state: connection status, masked API key, and the Users Synchronization card.","3":"Users Synchronization dialog: role selection, target groups, attribute mapping, and the update-existing option."}},"plugin_section":[],"plugin_tags":[2736,267,264,455,1558],"plugin_category":[41,42,58],"plugin_contributors":[282233],"plugin_business_model":[],"class_list":["post-353299","plugin","type-plugin","status-publish","hentry","plugin_tags-contacts","plugin_tags-email","plugin_tags-email-marketing","plugin_tags-newsletter","plugin_tags-sync","plugin_category-communication","plugin_category-contact-forms","plugin_category-user-management","plugin_contributors-sendigram","plugin_committers-sendigram"],"banners":{"banner":"https:\/\/ps.w.org\/sendigram-mail\/assets\/banner-772x250.png?rev=3708848","banner_2x":"https:\/\/ps.w.org\/sendigram-mail\/assets\/banner-1544x500.png?rev=3708848","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/sendigram-mail\/assets\/icon.svg?rev=3708848","icon":"https:\/\/ps.w.org\/sendigram-mail\/assets\/icon.svg?rev=3708848","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sendigram-mail\/assets\/screenshot-1.png?rev=3708848","caption":"Connection screen with the two-step onboarding: create a Sendigram account and connect with an API key."},{"src":"https:\/\/ps.w.org\/sendigram-mail\/assets\/screenshot-2.png?rev=3708848","caption":"Connected state: connection status, masked API key, and the Users Synchronization card."},{"src":"https:\/\/ps.w.org\/sendigram-mail\/assets\/screenshot-3.png?rev=3708848","caption":"Users Synchronization dialog: role selection, target groups, attribute mapping, and the update-existing option."}],"raw_content":"<!--section=description-->\n<p>Sendigram Mail is the official WordPress plugin of <a href=\"https:\/\/sendigram.com\">Sendigram<\/a>, developed and maintained by Sendigram Pty Ltd, the company that operates the Sendigram email marketing platform. It connects your WordPress site to Sendigram (campaigns, contacts, forms).<\/p>\n\n<p>The plugin ships <strong>Users Synchronization<\/strong>: export your WordPress users into Sendigram contacts, straight from the WordPress admin.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>One-click connection<\/strong> \u2014 connect with a Sendigram API key; the key is validated before it is saved and is never shown back in clear text.<\/li>\n<li><strong>Users Synchronization<\/strong> \u2014 export WordPress users into Sendigram contacts:\n\n<ul>\n<li>pick which <strong>roles<\/strong> to sync;<\/li>\n<li>add the contacts to one or more Sendigram <strong>groups<\/strong>;<\/li>\n<li>map WordPress profile fields (first\/last name, display name, username, website, registered date, biography, roles) to Sendigram <strong>attributes<\/strong> \u2014 email is always mapped automatically;<\/li>\n<li>choose whether <strong>existing contacts<\/strong> (matched by email) are updated or left unchanged.<\/li>\n<\/ul><\/li>\n<li><strong>Background processing<\/strong> \u2014 synchronization runs in the background in batches of 250 users, so large sites never block the browser or hit request timeouts. Progress, cancellation, and a final Created \/ Updated \/ Skipped \/ Failed summary are shown in the admin dialog.<\/li>\n<li><strong>Reliable confirmations<\/strong> \u2014 batch results arrive via a webhook; if your site is not reachable from outside (basic auth, staging, local dev), the plugin polls Sendigram directly instead, so runs still complete.<\/li>\n<li><strong>Clean lifecycle<\/strong> \u2014 deactivation keeps your settings and log; uninstalling removes everything the plugin stored.<\/li>\n<\/ul>\n\n<p>A Sendigram account (free or paid) with an API key is required. You can create one at <a href=\"https:\/\/ems.sendigram.com\/signup\">ems.sendigram.com\/signup<\/a>.<\/p>\n\n<h4>External services<\/h4>\n\n<p>This plugin connects to the <strong>Sendigram API<\/strong> (<code>https:\/\/ems.sendigram.com<\/code>), operated by Sendigram Pty Ltd. It is required for everything the plugin does \u2014 the plugin is an integration client for this service.<\/p>\n\n<p>What is sent, and when:<\/p>\n\n<ul>\n<li><strong>API key validation<\/strong> \u2014 when you connect (and when the plugin re-checks a stored key), the API key you entered is sent to Sendigram to verify it is valid.<\/li>\n<li><strong>Groups and attributes<\/strong> \u2014 when you open the synchronization dialog, the plugin fetches your contact groups and attributes from Sendigram.<\/li>\n<li><strong>Contact data<\/strong> \u2014 when you start a synchronization, the plugin sends the selected WordPress users' data to Sendigram: their email address plus any profile fields you mapped (e.g. first name, last name, website, registered date). Nothing is sent until you explicitly start a run.<\/li>\n<li><strong>Import status<\/strong> \u2014 after a run, the plugin may query Sendigram for the status of dispatched batches.<\/li>\n<\/ul>\n\n<p>No data is sent on activation, and no telemetry or analytics are collected. All requests go only to the API base URL configured in the plugin settings (default <code>https:\/\/ems.sendigram.com\/open-api\/v1<\/code>).<\/p>\n\n<p>Sendigram terms and privacy policy: <a href=\"https:\/\/sendigram.com\/terms-of-use\">Terms of Use<\/a>, <a href=\"https:\/\/sendigram.com\/privacy-policy\">Privacy Policy<\/a>.<\/p>\n\n<h3>Development<\/h3>\n\n<p>The JavaScript shipped in <code>assets\/build\/<\/code> is a minified production build made with <code>@wordpress\/scripts<\/code> (<code>wp-scripts build<\/code>). The corresponding unminified sources are included in the plugin package under <code>assets\/src\/<\/code>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin from the WordPress.org directory (or upload the ZIP via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>).<\/li>\n<li>Activate it on the <strong>Plugins<\/strong> screen.<\/li>\n<li>Open the new <strong>Sendigram Mail<\/strong> item in the admin menu.<\/li>\n<li>Create a Sendigram account (or log in) and get your API key from the Sendigram dashboard.<\/li>\n<li>Paste the API key and click <strong>Connect<\/strong>.<\/li>\n<li>Use the <strong>Users Synchronization<\/strong> card to sync your WordPress users into Sendigram contacts.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20sendigram%20account%3F\"><h3>Do I need a Sendigram account?<\/h3><\/dt>\n<dd><p>Yes. The plugin is an integration with the Sendigram platform, so a Sendigram account (free or paid) with an API key is required. Without it the plugin has nothing to connect to.<\/p><\/dd>\n<dt id=\"what%20data%20does%20the%20plugin%20send%20to%20sendigram%3F\"><h3>What data does the plugin send to Sendigram?<\/h3><\/dt>\n<dd><p>Only what you ask it to: when you start a synchronization, the selected users' email addresses and the profile fields you mapped are sent to your Sendigram account. See the \"External services\" section above for the full list.<\/p><\/dd>\n<dt id=\"where%20is%20my%20api%20key%20stored%3F\"><h3>Where is my API key stored?<\/h3><\/dt>\n<dd><p>On your server, in the WordPress options table. It is never returned to the browser in clear text \u2014 the admin UI only shows a masked version.<\/p><\/dd>\n<dt id=\"does%20synchronization%20work%20on%20large%20sites%3F\"><h3>Does synchronization work on large sites?<\/h3><\/dt>\n<dd><p>Yes. Users are processed in background batches of 250 via WP-Cron, so the run does not depend on keeping a browser tab open (as long as WP-Cron works on your host). If WP-Cron cannot run, the plugin falls back to dispatching batches from your admin requests and tells you so in the dialog.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20uninstall%20the%20plugin%3F\"><h3>What happens when I uninstall the plugin?<\/h3><\/dt>\n<dd><p>Deactivation keeps all settings and the import log. Uninstalling (deleting the plugin) removes the plugin's options, cache, sync state, and its database table completely.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Plugin header and readme now state explicitly that this is the official Sendigram plugin by Sendigram Pty Ltd. No functional changes.<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Translations are now delivered through translate.wordpress.org language packs: bundled catalogs and the load_plugin_textdomain() call were removed.<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Code-quality pass driven by the Plugin Check plugin: identifier placeholders (%i) in all custom-table queries, debug logging gated behind WP_DEBUG, heredoc removed.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Initial release on WordPress.org.<\/li>\n<li>Connect to Sendigram with an API key (validated before saving, stored masked).<\/li>\n<li>Users Synchronization: role selection, target groups, attribute mapping, update-existing option.<\/li>\n<li>Background batch processing with progress, cancellation, and a final summary.<\/li>\n<li>Webhook confirmations with a direct-poll fallback for sites not reachable from outside.<\/li>\n<\/ul>","raw_excerpt":"Connect WordPress to the Sendigram EMS: synchronize your WordPress users into Sendigram contacts with flexible field mapping.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/353299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=353299"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sendigram"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=353299"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=353299"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=353299"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=353299"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=353299"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=353299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}